hacker news with inline top comments    .. more ..    22 Sep 2012 Best
home   ask   best   6 years ago   
Xkcd "Click and Drag" in a "map" interface rent-a-geek.de
808 points by martius  2 days ago   85 comments top 40
nostromo 2 days ago 1 reply      
My favorite caption:

"Because it's there" is more poetic than, "I'm rich enough that my goals are arbitrary."

chernevik 2 days ago 2 replies      
The interface is a powerful extension of the piece. Wonderful stuff. Thank you.

I do wish the extension somehow captured the first three panels of the comic. The last panel is a masterpiece, but it is part of a larger story.

rm999 2 days ago 2 replies      
Wow, that's... epic.

According to the reddit comments the world is 165888x79872 pixels, and the guy at the beginning is 40 pixels tall. If we assume he's 6 feet tall, the world is ~25000 x 12000 feet, 4.7 x 2.3 miles, or 7.6 x 3.7 km.

runjake 2 days ago 1 reply      
Randall is one of those artists that truly enriches (my) life. The IP addressing visual and the other comic that illustrated the size of scale among astronomical objects were two others that impressed me. This one tops them all.
tomasien 2 days ago 1 reply      
There's a serious psychological phenomenon where working in a place with no windows decreases productivity by a lot. This has been attributed to the need to look out into the world in order to imagine solutions that aren't readily apparent.

Scrolling through this was like looking out the window times 100. I've already gotten more done in the last hour after looking at it than I usually do in a day.

ygra 2 days ago 1 reply      
Here's a similar one, made with Seadragon (Deep Zoom):


crucialfelix 2 days ago 4 replies      
you guys have totally destroyed this thing ;) the beauty was that it got me to wander around like a little kid for a while. the little spots by the beach, textures, jokes, wondering which way was out of a mine shaft, the sense of taking a hike for a while. not zooming around like an all knowing cyborg.

not that I'm trying to spoil your fun of course.

basseq 2 days ago 4 replies      
Here's a 5% version I stitched together:

It's a big world. What are those whales doing in the sky!? Silly whales...

AaronBBrown 2 days ago 0 replies      
This is awesome even though it crashed my phone so hard that I had to do a battery pull! :)
andrewaylett 2 days ago 0 replies      
If you'd like the full-screen view and ability to navigate using the keyboard, but with tiles that load when needed not just when you stop moving, try http://ares.aylett.co.uk/xkcd/ -- it uses the original tiles, so you've probably got at least some of them cached already :).

Only browser zoom, but I think that helps keep the mystique (and I don't want to try to implement it myself).

erikpukinskis 2 days ago 1 reply      
Reminds me a little of Proteus (http://www.visitproteus.com) which I just came across a few days ago. There's something special about wandering around in a world where you don't know why you're there or when or where it will end.
chrismorgan 1 day ago 0 replies      
When you're in a region without a matching image (i.e. in the blank sky or uncarved ground), the tile is only a 1x1 image; in Firefox at least, the default image rendering technique for this is bad, as it uses something along the lines of bicubic interpolation to some shade of grey, where what is intended is that it be a solid block of colour.

My solution was to add this to the CSS:

    .leaflet-container img { image-rendering: optimizeSpeed; }

Note also that the 1x1 blank ground tiles (e.g. http://xkcd-static.rent-a-geek.de/converted/4-4-8.png) are #0a0a0a rather than #000000.

turshija 2 days ago 1 reply      
I like the Minecraft part ^^
tylermenezes 2 days ago 1 reply      
Yet http://www.isxkcdshittytoday.com/ still isn't impressed.
DiabloD3 2 days ago 1 reply      
The software used to make this is on Github, plus some scaled down originals:
degenerate 1 day ago 0 replies      
If you think this is cool, check out a game with the same 2D "grid-like" world that blew me away when I played it a couple years ago: Within a Deep Forest. http://nifflas.ni2.se/?page=Within+a+Deep+Forest
Kiro 2 days ago 0 replies      
http://xkcd.com/1110/ for those that don't have a clue what this is about (like me).
reinierladan 2 days ago 0 replies      
Best interface to the full high res image yet. Love it.
WestCoastJustin 1 day ago 0 replies      
In case you did not see it, dividuum put together how this was served.

[1] http://news.ycombinator.com/item?id=4547840

roryokane 1 day ago 0 replies      
There's also this map: http://sumamimasen.com/xkcd/1110/. It has some of the usability of this rent-a-geek map while keeping the perhaps-symbolic inability to see ahead of the original comic. It also loads faster than this rent-a-geek map.

Features: use the arrow keys to scroll (you actually can't click and drag anymore). You can't zoom out, but you can hold Shift to scroll quickly. This map loads tiles while you scroll, so you can keep on scrolling without stopping.

richardjordan 2 days ago 0 replies      
My days are better when I remember to check xkcd.
sbanach 2 days ago 0 replies      
Normally a curmudgeon, I love everything about this story. The original comic is brilliant, and the various HN takes on it are getting better and better. Thanks everyone!
willvarfar 2 days ago 0 replies      
If he just updates it and adds to it every so often, think how he'll magnify the productivity impact! :)
gulbrandr 2 days ago 1 reply      
The only JavaScript file seems to be http://cdn.leafletjs.com/leaflet-0.4/leaflet.js
thomasfrank09 2 days ago 1 reply      
Looks like Randall had a pretty good time playing Insanely Twisted Shadow Planet.

(for those curious - http://michelgagne.blogspot.com/)

naugtur 2 days ago 0 replies      
Finally - the way I wanted to explore it :)
brettnak 1 day ago 0 replies      
Thanks for bothering to make it work with pinch to zoom on my tablet! Impressive!
ryangallen 2 days ago 0 replies      
Felt like the first day I got my ant farm when I was a kid. :)
mkramlich 2 days ago 0 replies      
great toy

someone make a game based on this. take my money

bobajett 2 days ago 0 replies      
What, no Gandalf chasing a Balrog down the hole?!
joeblau 2 days ago 3 replies      
This is amazing! I would like to see how they put this together.
ludovicurbain 1 day ago 0 replies      
It's awesome, but the guy who coded it forgot to replace the all black squares by <div class=black> . that would've loaded so much faster - and even better with class=white above the earth.
nikcub 2 days ago 1 reply      
Find the 'hackers' reference?
adastra 2 days ago 1 reply      
Love the Cryptonomicon influences. In case anyone is wondering what those mushroom-shaped caverns are that jut up off some of the tunnels... well, you can read the book and find out ;)
DharmaSoldat 2 days ago 0 replies      
Wow... Just wow.
bthomas 2 days ago 2 replies      
First time I looked I didn't realize you could zoom out...
wannabeartist 2 days ago 1 reply      
apart from the javascript part, how was this drawn? by hand? software, using tools?
zapfmann 1 day ago 0 replies      
Wow. That is art!
berserkpi 2 days ago 0 replies      
The Amazing iOS 6 Maps theamazingios6maps.tumblr.com
759 points by Maakuth  1 day ago   356 comments top 52
rauljara 1 day ago  replies      
The "roller coaster" effects in the 3-d view are my favorite. They've got some smoothing algorithm going, or it wouldn't curve the way it does, but the elevation data must not have a high enough resolution. Google has made this sort of thing look so easy for so long, but it's clearly very hard to get this stuff right.

So, I guess it's not that surprising that apple messed up something incredibly hard in their first attempt. I'm curious as to whether these issues are as widespread as they seem, or if they're more edge cases made to appear common by the internet. But the curiosity isn't enough to drive me to upgrade. I'm totally putting off that until I figure out a decent alternative app.

SoftwareMaven 1 day ago  replies      
I look at this and can't believe Apple wanted to ship with this. And I mean that literally, not incredulously. I believe Apple wants to be in carol of its mapping future, but this product isn't ready yet, and I don't think Apple is so delusional to not be able to see that.

So that makes me wonder what happened in contract negotiations with Google to force it out. Did Google flat-out say "No"? Seems unlikely. Was it just too expensive? That's possible, especially if these negotiations happened during the time Google massively raised the prices on its API (completely random speculation: maybe the price increase was only about Apple), so Apple had to invest elsewhere. Did Google just want control of their map data or want to give Android a massive competitive edge so they backed out? That seems unlikely, but may be answered if Google doesn't put out a map app for iOS.

grey-area 1 day ago  replies      
What confuses me about Apple's choice of maps here is why they didn't go with OpenStreetMap? It was the perfect opportunity to leapfrog Google and help the open source community at the same time, and they would have had more control over the data - as it is they are beholden to TomTom and other providers to try to get things fixed, or will have to try to merge future map updates with their own patches. As it is they are going to see increasing controversy as people realise just how bad the maps they have bought are, and that this was changed for political reasons, not for the good of their users, and there's very little they can do about it.

They seem to have tried out OSM in the photos app (with a horrible skin), but to have used purchased data for the street maps. Perhaps they felt it wasn't good enough in some locations they tested?

In my experience OSM is superior to Google maps in many locations (even in parts of central London), and it is of course continually improving.

lhnz 1 day ago 6 replies      
It seems like the quality level maintained by Steve Jobs is quickly deteriorating in favour of business moves designed to wrest more control off Google. They are operating in a very similar way to other companies now.

Google executives must be laughing very hard right now. If I was Google I'd avoid releasing a Google Maps application for at least a year and let the Android handset manufacturers ruthlessly exploit Android's superior maps.

jws 1 day ago 1 reply      
It isn't as much fun, but the imagery of the places I care about is better than google, in some case dramatically better.

Their place data needs a lot of help. e.g. If you look for the nearest hospital from me it will take you to a new retirement community built on the site of an old hospital. It is easy to report the problem, now to see how long until it is fixed.

lbotos 1 day ago 1 reply      
So I've been seeing all this hatin' on HN this morning so I figured I should check it out on my device. I mapped my commute (1 hour) and the only oddity I saw was the waviness coming off of a bridge. Beyond that Philly's buildings were all rendered correctly and my route was exactly the same as Google maps. YMMV

P.S. I must say It was really cool to see Cira Centre (The Amtrak Building) rendered in 3d. http://en.wikipedia.org/wiki/Cira_Centre

dr_ 1 day ago 3 replies      
To be honest, despite its flaws, it's going to be ok for most of the people, most of the time. Navigation is going to be a big boon.
Using it I haven't noticed major differences personally. Some restaurants are in the wrong location, but on the flip side I like the yelp reviews.
I'm sure they will improve on the areas that are flawed.
hnriot 1 day ago 1 reply      
With maps.google.com (html5 version) I get some of the old functionality back, but the thing I miss most is street view. Having flyover is very pretty for demos but completely useless unless in real use. Street view, however, is actually very useful and I use it on a regular basis. As far as I know there isn't any work around to that. I will try ios6 again, but for now, I'm going to restore my backup until (if) google come out with an iPad version of maps and YouTube (instead of the iPhone only)
ilaksh 1 day ago 1 reply      
But you're still going to buy Apple because that is what all of your rich and trendy friends use.

I have never owned an Apple product. The main reason for this is related to class and/or culture and financial circumstances. My family was always very frugal and on the lower side of middle class.

And honestly I'm frugal and so when I buy devices I am focused on value and bought a laptop with a good graphics card and other features that I put Linux and Windows on. Also I am not comfortable around people so I have pretty much no friends. If I had more friends in web development I might have felt an overwhelming peer pressure to buy a Mac.

The point is that these decisions are not actually based on technical merit, not for me or for Apple fans, because that's not how humans make decisions. We need to be very careful to take a step back every now and again and make a conscious effort to correct trends towards a more rational basis.

The Apple ecosystem is generally more polished, that is true. However, its also very much closed compared to other systems like Google's and outdated in some ways. For example, Objective-C is a ridiculous over-complex relic and it is very embarrassing that so many people waste their time with it.

Its obvious that we need to focus our attention and money on more egalitarian and open businesses. And pretty soon, even the most open and inexpensive products and services are not going to be a good value as better knowledge and data sharing becomes more practical and popular.

The future is open, knowledge-based (some derivative of KR) operating systems where machine code isn't even allowed. The future is knowledge-based programming language and platform development and evolution. The future is ubiquitous open cross platform applications. The future is content-oriented peer to peer web knowledgebases and applications. The future is open source phones that you print out in 3d on your desk.

The future of technology is open, distributed, cohesive and yet decoupled, mature, substantive, and egalitarian. Apple is none of these things.

laacz 1 day ago 1 reply      
What actually bothers me the most, is poor quality of iOS6.

It has several bugs (excluding maps and unfortunate wifi bug), which already have affected me and users around me. Some most notable include following.

* Sometimes iTunes update screen does not refresh,

* You can't disable vibration for notifications per application (i love my email in notification center, still - i do not need it to vibrate; in 5.1 it worked).

* Also, phone from time to time vibrates, though nothing has happened (no new notifications or alerts).

* Most annoying one is that they changed keyboard input, so you can't enter special characters (common in Latvian) by holding and swiping left/right. You have to swipe up and then left/right. Makes big deal, when typing.

I know it all will be fixed in 6.0.1, but still - there is visible decline in quality of provided software, which actually makes me very sad as a user.

mullingitover 1 day ago 0 replies      
The beauty of this: Apple is definitely going to sell record numbers of the iPhone 5, shitty maps or not. And when they eventually do claw their way back to being on par with Google's maps, people will act like they invented maps themselves and all will be forgiven.
glhaynes 1 day ago 4 replies      
I'm clueless about mapping/geocoding/etc (it's amazing I make it to the grocery store and back) but I keep hearing that Apple needed to get this out there so that they could start getting data feeding back from the millions of iOS users, and thus (presumably rapidly) improving the quality of the maps. Is there any truth at all to that? I don't quite understand where they'd be getting that data back from - e.g. if I search for the hospital and I eventually find it 3 miles down the road from where the map took me, how would Apple/their mapping partners ever know that the POI should be moved?
Aloisius 1 day ago 1 reply      
Since Apple doesn't have a website for their maps, just knowing what is broken is going to be a problem for them.

I wonder if they will put in a map editor in their next version to crowd source fixes or at least bug reports.

grey-area 1 day ago 1 reply      
For those who think this is just a problem with the 3D images, or are not convinced there are serious problems even after seeing this tumblr, try looking outside of California, at both satellite and standard maps. Some example searches:

"Brighton, UK", Satellite - a major UK city is so blurry you can't see streets.

"Grand Cayman, Cayman Islands" - ends up in the middle of the sea, and no roads on the islands at all.

"Colchester" - satellite shows clouds, in B&W

"Senkaku Islands" - compare satellite with standard to see duplicates of these disputed islands.

"Puno,Peru"- in lake Titicaca


They probably had to rush this out, but it's really not ready for widespread use in some areas; they'd have done better to cut back the features and massively extend their testing (or use a crowd-sourced alternative). Given how extensively this is used in iOS, both by apps using Mapkit and by customers every day round the world, it's vital that is it correct, and getting it wrong in such obvious ways is a massive strategic error on Apple's part.

outside1234 1 day ago 1 reply      
iPhone 4S with iOS 5 > iPhone 5 with iOS 6

Nice work Apple - that's going to save me a few hundred dollars!

antirez 15 hours ago 0 replies      
I think Apple did the switch with bad timing, before having a good solution in place... but in the end maybe facing some real technological challenge can be good for them? Every time they have to do serious software / infrastructure stuff they seem to be weak, even with iMessage that is not exactly that super-hard thing to do, there are reliability problems. I hope that this map stuff will make Apple a bit more CS oriented, but not as much as Google is.
mapgrep 1 day ago 1 reply      
Funny subtitle: "The Apple iOS 6 Maps are amazing. Not."

People seem to think "amazing" == "cool". Not so! It just means astonishing or surprising. Which makes the word so much more interesting to use. "We charge $9 for a bottle of Corona." "That's amazing!"*

So the iOS 6 maps really truly are amazing :)

*True story

insickness 1 day ago 1 reply      
While we are ragging on maps...

I live in New York City. Sometimes Google doesn't put the street names on all the streets. I often have to scroll left or right or out to see what street it's on. Obviously you can't list the names on every street when it is zoomed out, but even when there aren't more than 4 or 5 streets on the map, the street names still don't appear. It's like they'd rather list local restaurants than street names. Has anyone else experienced this with Google maps?

stephen_g 1 day ago 2 replies      
I really hope that people are using the 'Report Problem' feature in the app every time they post a screenshot here. Because that is one of the biggest things everyone can do that will help the map data to improve.
DigitalSea 1 day ago 0 replies      
I think my favourite image was the state park with this caption beneath it, made me laugh out loud: "Valley Forge State Park became Valley Forge National Historical Park a few years ago… in 1976" in all seriousness Apple's maps offering quite clearly isn't up to scratch in comparison to Google's maps application.

While Google have made mapping look easy for a long time now, it quite clearly isn't as easy as Apple thought it was. If Jobs were still alive, maps would never have been released in the state that it currently is. Seems like Apple rushed the release of maps, I wonder what the real agenda for moving away from Google maps in the first place was here? It quite clearly wasn't because Apple had a superior maps offering than Google could offer.

Way to force us iPhone users to use an inferior mapping product. Luckily Google have submitted a maps application to the maps store, but it'll probably get rejected for competing with the iPhone maps application.

dm8 1 day ago 0 replies      
Looks like it works well in bay area but outside bay area it's pretty bad. Apparently, Redditors are pretty pissed off - http://www.reddit.com/r/technology/comments/106rvw/new_ios_6...

Looks like AAPL tested it in Cupertino and worked well. Thought it will work well in rest of the world too. Classic mistake?

ForrestN 1 day ago 1 reply      
It's obvious that Google withheld or made it prohibitively expensive for Apple to pay for the liscence to google maps.

It does retroactively make the case for handling these things in-house, especially when the partner is a competitor. After years of giving Google valuable data to the point where it becomes a major competitive advantage, google presumably says "go to hell."

edoloughlin 1 day ago 0 replies      
This [1] made the news in Ireland today, when a city farm in Dublin called "Airfield" was labeled as an airport. It was thought that pilots in trouble might attempt to land there, but I can't see why checking maps on their iPhones would be part of emergency procedure.

[1] http://searchengineland.com/irish-politician-calls-apples-ne...

CoachRufus87 1 day ago 4 replies      
Why did they stop using Google Maps?
ernestipark 1 day ago 0 replies      
I just upgraded to iOS 6 last night and just used it to get around downtown Boston. It was unusable. It had some incorrect data about some locations, it was confusing to use, and when I typed in a location, it would look in different cities instead of the one I was currently in. Unfortunately, one of the biggest apps I use regularly has taken a big step backwards.
mtgx 1 day ago 0 replies      
Seeing the poor state of the Apple Maps, I think Google can wait 2 years or so before even considering releasing Google Maps for iPhone. More people will want Android phones as they can't leave without it, just like some can't live without the Gmail app for Android.
shriphani 1 day ago 0 replies      
And I thought I had it bad with Bing Maps on WP7. Well, goes to show that lower-bounds exist to be breached.
tsahyt 13 hours ago 0 replies      
This is bad.. really bad. I'm not sure whether Apple screwed this up so badly or Google really did a brilliant job on Maps.
leoedin 1 day ago 0 replies      
I love the one of houston highrises with gas stations on each one (they're actually the corporate headquarters of oil companies).


rkrkrk21 6 hours ago 0 replies      
Its now very clear that Apple is loosing its direction after steve jobs gone. People who used to get crazy about the release of apple products will no loose the passion if apple follows this path.
pbreit 1 day ago 0 replies      
I was expecting much worse. I don't think the problems with the 3D are that big of a deal. And things like the Washington Monument being off by a few dozen feet are fine.

What I will say is that Google for the longest time did not locate properly my home or my store in the middle of downtown San Francisco and Apple's maps have them correct on Day 1.

guilhermetk 1 day ago 0 replies      
I'd really like to know where the data from Brazil comes from, specifically Florianopolis, SC. The first thing I did when I updated to iOS 6 was testing the maps app. The building I live is at least 5 years old, but the map shows it under construction
leephillips 1 day ago 0 replies      
Note that you can still go to maps.google.com in Safari. Give Safari location permission and it works similarly to the old maps app, but a bit slower.
jguimont 1 day ago 0 replies      
Google spend much time organizing the name of the cities and road in a particular way. Now Apple has another way of doing it, the maps at higher level show less information.
Some city name are picked and some are not, but at a closer level, the cities are there. Their algo to find what to show on the map is just different from Google.
I'm not saying it is better, but different. I am pretty sure the same comparison can be made between google maps and let's say bing maps.
rabidsnail 1 day ago 0 replies      
The mapquest app is better than this. I wonder how much it would cost to persuade AOL to part with the mapquest division.
acomjean 1 day ago 0 replies      
I just use Waze for turn by turn (iphone 4s) available for blackberry and andriod. Plus if you go to google on mobile safari, it basically pesters you to install a google map shortcut on the "desktop". This works very well.

I'm sure apple maps will get better, but seeing as they're not a search engine, I don't think they'll ever get quite as good at finding by location names.

homosaur 1 day ago 0 replies      
This thing is an AMAZING atlas, especially on the iPad. It's a horrible navigation tool though.
mikeleeorg 1 day ago 1 reply      
Are there alternate map apps on iOS that anyone could recommend?
derfclausen 1 day ago 0 replies      
In regards to "Where did my university's buildings go?" (http://theamazingios6maps.tumblr.com/post/31928845471/where-...), it does bother me that so many universities have provided specific map details to Google (see http://google-latlong.blogspot.com/2012/02/map-your-campus-a...), but not OSM.
Jarihd 16 hours ago 0 replies      
How can someone release a product like this !!!

What were the PM, team manager, technical architect, developers and QA doing !!! Didn't they observe this !!!

Is this a deliberate product release ???

dakrisht 1 day ago 0 replies      
Wow. That's all I have to say. WOW.
jarospisak 1 day ago 0 replies      
Relevant: how Google test maps http://youtu.be/49JepTyK0NA?t=36m57s
white_devil 1 day ago 2 replies      

There's a new huge undertaking of making a modern, competitive "Maps" product. Who'd have thought that when the first version ever is released, its data is not as accurate as a seven-year-old competitor's?

This is fucking ridiculous. Let's see how long it takes for Google to replace everything it has with vector graphics. You know, to get even with the iOS 6 Maps. Who's the incumbent in two years?

finkin1 1 day ago 1 reply      
Can't wait to see the consequences of this. I hope Google delays their iOS maps a while so people can get frustrated with Apple.
dude8 23 hours ago 0 replies      
I just got a Mac but this is the first time their closed source monopoly crap has bit them in ash. The more it happens the quicker they will change. It's a good day.
hackermani 1 day ago 0 replies      
Umm well Google maps are waaaaay superior. Apple give us the choice to use what we want, till you get your act toghether. Spend some of thoese billions and drive a bunch of cars around or heck buy a few satellites
brudgers 1 day ago 1 reply      

"iOS 6, Navigate Differently"

[At least I find it amusing]

lucian303 1 day ago 0 replies      
Amazing? This is old tech. Google maps. Perhaps you've heard of it?
dumb_dumb 1 day ago 0 replies      
The Amazing Parchment Maps 6

1/100 of the cost of an Apple device.




Powered by clean, green energy.

No Chinese workers exploited.

arunoda 1 day ago 0 replies      
ddsfdsfdfdf jjjj jj
ledlauzis 1 day ago 3 replies      
Apple made this decision just to dump Google and try to gain more control.
Apple dind't want to use OpenStreetMap because its open source solution and Apple never uses open source solution. Yeah, its iOS and OS X is based on Linux (sort of) but they will never tell this to anyone.
iOS 6 Maps sucks just like the App Store on the New iPad. Maybe it is just me but I found it very, very slow. It's better on iPhone
sidcool 1 day ago 4 replies      
I hope this is meant as sarcasm. I cannot open the article from workplace, but I truly hope it's derision.

EDIT - People are downvoting without reading it entirely. I have mentioned I CANNOT ACCESS THE ARTICLE. So the only truth available to me is the Post here.

Everything's broken and nobody's upset hanselman.com
645 points by axefrog  4 days ago   398 comments top 87
luu 4 days ago  replies      
The blurb on the sidebar proclaims Scott's MS experience. It's surprising to see someone with a Microsoft background making this complaint. MS spends more effort than any software company on testing, not only in just plain hiring lots of testers, but also on formal methods. They have some of the top formal methods people in the world doing research for them, and armies of people trying to put that research into practice. Making stuff work is hard, and I'd expect someone who worked for Microsoft to know that.

I work for a hardware company. Bugs are really, really, bad. If we find a hardware bug in real silicon, at best, we catch it the moment we get the first chip back, and it means that we have a multiple month delay as we fix it and tape out a new chip, not to mention the cost of throwing away all of the partially fabbed chips we've got, plus the multiple million dollar cost of a new mask set. At worst, we have a recall [1]. We take testing very seriously, and we do a lot more formal verification than most software companies.

The only things you can be sure about are things that have been formally verified [2], and the list of things that you can formally verify is tiny. We formally verified our adder. It took months. Then we did the multiplier, which was much harder. It took about the same amount of time because of the experience we gained doing the adder, but it wasn't easy. Division took a lot longer, even with the experience of doing addition and multiplication. To think that we can advance the state of the art of "things that work" from something like a multiplier to a complex piece of software with "care" and our "collective will" seems overly optimistic.

Everything's going to be broken for the foreseeable future. Putting more effort into testing and less into features is a difference in degree, not in kind. It won't even prevent articles like this from being written because, if all you want to do is find ten bugs in all the software you use, that's still going to be trivial. Considering how much progress has been made in formal methods since 1970, I expect that finding 10 annoying bugs in all of the software I use will be trivial for my entire lifetime.

[1] Well, you don't have to do a recall. AMD had a hardware bug that could be fixed by a patch that degraded performance by 10%. Sun famously didn't include ECC in their L2 cache, which resulted in transient failures for a number of customers, and they made customers sign an NDA before replacing their parts. Guess how much people trusted AMD and Sun afterwards?

[2] Even then, you're never really sure. How do you know the formal verification process itself isn't buggy? It's turtles all the way down. I know some folks who were trying to build a formally verified OS, and they stopped using ACL2 after discovering a few bugs in it. After all, how can you trust your proof if the proof system itself has bugs? ACL2 is old and crusty, but that's precisely why it's used for more hardware FV than everything else combined, outside of Intel and IBM (both of whom have their own, excellent, internal tools). It's old enough to have great libraries. There are newer systems that have better architectures, but they don't have anything approaching the same level of library support for hardware. Yet another tradeoff of time to market vs. correctness. It can't be avoided.

Say you're an engineer who's worried that ACL2 is too buggy for your company to use. You tell your manager. She points out that maybe five ACL2 bugs are discovered every year, and they get more minor each year, as the system gets cleaned up. Moreover, none of the bugs discovered in the past three years have affected any of your proofs, and you wouldn't expect them to have an effect on any proof techniques you're going to use. So you stick with ACL2. And, because you do, there's a tiny risk of a bug. What does this example have to do with the original post? Bugs come from making little decisions like this. No single decision is sure to cause a problem, or (in a company that's serious about testing) even likely to cause a problem, but multiply that tiny probability by the number of times you have to make a tradeoff and the number of lines of code, and it's a statistical certainty that you'll have bugs.

edw519 4 days ago  replies      
My sentiments exactly. I got so tired of being upset with the horrendous human design in modern technology that I took action. What I've done:

  - Buy 2 $350 laptops every year. Move all data. Give away old ones.
- All contacts in one .txt document.
- Memorize most frequently used contacts.
- No smart phone.
- No tablet.
- No Kindle.
- No palm pilot.
- No Facebook.
- New car ('12 Hyandai) with minimal technology.
- Wash dishes by hand. (Fuck the 48 buttons on the dishwasher.)
- Use Firefox.
- Use dedicated Casio camera with USB interface.

I love modern technology that adds real value.

I don't use any modern technology that replaces perfectly good methods with something unnecessary just because everyone else is doing it.

cstross 4 days ago 4 replies      
Reading his laundry-list of paper cuts, it looks like many of them (around 50%?) relate to one particular issue: synchronisation. It keeps coming up, time and again, from his email woes (seriously, folks, didn't we solve this one back in 1980?) through to the borked address books, contact lists, and photo streams.

Sync software usually takes a conservative approach to deleting or merging records, and leaves duplicates lying around rather than risking deletion of vital user data. This is a good thing. What's bad is that the tools for housekeeping -- merging and deleting duplicates -- are generally rubbish. (I have the same problem with my phone's address book: masses of duplicates due to sync processes that conserve stuff. And trying to get rid of them using the tools provided turns out to be a tedious pain in the neck, requiring multiple mouse-clicks or focus changes per record.)

Further down the list we get into identity management issues. Nobody seems to have a really good handle on how we manage identity across multiple machines, much less how we manage esoteric stuff like family relations for delegating access to photos or music purchases or whatever.

pmjordan 4 days ago 2 replies      
As a user of software, I get similarly frustrated as the author. ("user" here includes use of third-party libraries to build on) However, developing system-level software, I've come to realise that even if you really, really care about the quality of your software, you can still be bitten by statistics.

Basically, developing error-free software is comparatively easy if your software effectively performs no I/O, that is, it behaves like a program in a computer science paper: read in some data on launch, grind through some computation, emit output, terminate. Barring catastrophic hardware failure of CPU or memory, this is a nicely deterministic programming model. You stand a chance writing correct code.

Throw "real" I/O into the mix, and almost anything can fail in weird ways, and your code has to be prepared for it. Network I/O is guaranteed to fail sooner or later while the developer is using the software. So it usually gets taken into account in some way, usually only distinguishing between "there is no connection" and "there is a connection". There are a myriad of other cases in between that are usually not even considered.

Disk I/O can fail for a variety of reasons. Not just hardware failure; file systems aren't perfect, especially when confronted with power failure, kernel panics, etc. Randomly flipped bits happen. (yes, really)

Not only are there are bugs in the GUI framework you're using, other GUI programs are running at the same time and they can inadvertently interact with your program due to the shared GUI framework use.

Other programs can inadvertently interact with yours in other ways: locked files, claimed sockets, contention for any kind of resource, race conditions, thread/task scheduling - you name it.

Timing bugs are ubiquitous. Everything you do in your program takes >0 time. Maybe on your system, with your data set, it looks like 0. Maybe because it takes slightly less than one video frame's worth of time. On your customer's system, it takes longer. If they click something before your operation has completed, and you haven't anticipated this, your program will fail in weird ways. Where I live, I can't get an internet connection with less than about 80ms latency even to the nearest servers, let alone to North America, where most servers sit (more like 200ms). You wouldn't believe how much software handles this terribly.

The problem is complexity - in many cases, unavoidable complexity, not the accidental complexity us developers keep railing against. Most of these error cases are extremely rare. The thing is, with thousands or millions of people using your software, extremely rare bugs suddenly become a very frequent occurrence!

Yet the tools for dealing with this kind of thing are somewhere between terrible and non-existent. There are some tools for simulating difficult network conditions; those are comparatively easy to make. I'm not aware of similar software that simulates OS API call failures. Or a "file system from hell" that wreaks havoc with your file I/O. Fuzzing a program in such a way would likely uncover countless bugs. valgrind and its myriad of plugins are great, but as developers we almost certainly under-use it.

Developing such tools is obviously expensive, and even they won't catch all bugs. But I'm pretty sure they could reduce the probability of running into bugs by a few orders of magnitude.

Don't even get me started on how programming languages don't help you handle error conditions or timing problems even if you try.

momotomo 4 days ago 1 reply      
Very much relate to this. Some days, especially in the corporate environment where I work, I genuinely wonder if we are missing the point completely with all the innovation and advancements in OS' and software instead of focussing on cleaning up what is already there. It always feels like there's more time spent developing all of this than there is dogfooding it.

One thing to add to the gripes re iOS - I've found that it works beautifully when it does, and horribly when it doesn't. His point on notification clearing reminded me of the Mail app when you have connection failures: I had 5 accounts tied into it, and when the networking failed it would throw 2 modal dialogues for each account. The amount of time I spent glued on the spot hammering away at notifications so I could move on felt staggering after a while.

I had a glut of other misc. quirks and persistent crashes that cut through the gloss on the device, this in combination with a string of Windows 7 bad behaviour (started python development, started hating python development) led me to switch onto linux (started loving python development) and a droid handset. Guaranteed they will have just as many warts and bad behaviours, but it feels more reasonable because I'm expecting them, and on linux, have an opportunity to fix them.

There's two aspects to being a "power user" (not entirely but I try) that I could never take for granted - this capacity to fix things that don't work, but also the opportunity to work with the more atomic tools. There's nothing more soothing than stringing commands together, writing a script, or organising things in a text file or database: mostly because if something breaks, I broke it, I can see the breakage, I can fix the breakage. Minor bliss!

Addendum / edit to this to provide context - I think coming from a control systems background has coloured a lot of my opinions in regards to innovation. I've seen fistfuls more value delivered (in this field, potentially applicable to others), by creating small, clean, highly polished, iterative and well integrated systems as opposed to large, sprawling and constantly evolving...messes. The sometimes popular fail first / fail fast / iterate like crazy mantra makes me itch. I've seen successful lean / agile approaches executed that focus on quick delivery without being so flippant about quality.

mrb 4 days ago 5 replies      
I completely relate to that feeling. This has led me to use less of everything over time. One day I realized this, that I was in fact applying the KISS principle to my life. Fewer apps + fewer features + fewer gadgets = fewer bugs irritating my day-to-day life.


My desktop environment on my laptop is Linux with, 99% of the time, just a bunch of xterms and a browser (without extensions... they tend to crash browsers).

I installed exactly 4 Android apps on my phone (after flashing it to cyanogenmod to get rid of the bloatware): gmaps, youtube, barecode scanner app, some app to write notes on the home screen (NotesWidget). Everything else sucks and is a waste of my time. But even the dead-simple NotesWidget app author managed to mess it up with enough bugs that I am considering writing my own(!) I have tried at least a dozen other notes-taking application and am not satisfied with any of them.

I don't maintain a music library. Sync'ing music across multiple PCs, phones, other devices, etc, suck. Personal libraries "in the cloud" don't work because I am not always online. I just listen to satellite radio in my car.

I own no TV, no game console, no tablet.

And yet, I am a tech enthusiast. I accept a little "complexity" where it makes me happy: I program GPUs/FPGAs, I have a home theater set-up at home, I maintain my own website/blog on colocated servers, etc.

batista 4 days ago 3 replies      
So, your amazing feat of engineering phone, with a color retina display, audio-video capabillity, 700.000 apps, gyroscope, HD cameras, etc has some extra stuff taking 3GB drive space (of the 16GB device).

Your amazing, multi million lines of code Windows desktop, the work of some 1000 people or more, has a problem with indexing.

The protocol and apps that connect you via email to everyone you want, free, globally and instantly, sometimes loses a mail. Or the UI is slow to load your new messages.

A program with which you can do on your laptop what it took huge teams, million dollars of equipment, and professional expertise to do (FCP), has a crashing bug in some particular action.

The program that lets you talk to everybody on the planet, instantly, with video, and paying nothing, has a badly designed UI.


Yes, I can see how "everything is broken".

Because, when we didn't have any of these, when 30 years before you had a rotating dial to dial numbers on your phone that only called landlines and cost mega bucks to call internationally, when you had MS-DOS as the most prevalent desktop OS, when 20MB was a huge disk in a desktop system, and before something like video chat was only possible
in huge organizations with special software, everything was perfect...

Wanting to improve things? Fine.

Not understanding the complexity and magnitude of the technical achievements you use everyday? Bad.

DanielBMarkham 4 days ago 1 reply      
As modern life becomes more complex -- and that's both complex in terms of both computers and social/government structures -- we are swimming in edge cases.

When you used to interact with 4 or 5 complex systems every day, it was a rare thing when one was whacked. System designers got things working 90-95% of the time and the rest of it wasn't worth chasing down. But now that we're interacting with hundreds of complex systems each day, we're constantly running into oddball situations where things frustrate us.

Worse still is what I call an "edge case tsunami" where multiple oddball situations combine to create a PITA or disaster much worse than any one of them would individually.

It's an interesting problem. We can't make everything perfect to a 99.999% accuracy. The economics simply don't work out.

To edw519's point, I think the way to go is to toss out the general purpose computer. Have a device for books, a device for music, a device for programming, a device for surfing, and so on. Not only does this decrease the possibility of a cascade, it also allows us to physically separate our technology habits.

greggman 4 days ago 2 replies      
Honestly, there'S just too many things to fix. It's easy to believe with just a little better management or a little more attention to detail or more XP or whatever all these problems would go way but the truth is it's just too damn complicated.

Each of the products mentioned are huge HUGE projects layered on top of hundreds of other projects. A browser has a various networking stacks themselves built on OS stacks themselves built on device drivers etc etc. Pick any part and it's literally counting on millions of lines of code to be flawless. Interact across the net and now you need the software on all parts of that network to be flawless as well

Can you name anything with so many parts that just works?

It's possible it could get better but it seems unlikely. Each year the new stuff is built on top of the old stuff making the hole deeper and deeper as we go. That's why a 1.6ghz atom with a gig of ram sometimes feels slower than my Atari 800

yesbabyyes 4 days ago 1 reply      
I've spent most of my career for 15 years as a programmer. Some days I just want to throw out my computers and phones and never touch them again. Days when I get overwhelmed by the feeling described in the article.

Every computer environment is layer upon layer of kludges. There is shit all the way down.

bobsy 4 days ago 2 replies      
This stuff all bugs me. On my 4 year old Mac sometimes app's just won't start. They bounce once then exit. The only fix is to restart. No idea why. Been happening for years.

In Firefox on Windows. I write a bad bit of JavaScript and the browser just freezes and there is nothing I can do apart from ctrl+alt+del. I really don't know why tab's aren't sand boxed to at least let you exit them.

Photoshop has minor annoyances. If the color picker is open new files don't open. Been like that for 4 versions.

For some reason Filezilla refuse's to open a directory sometimes and hangs for about a minute before letting you retry. To speed this up you can press the disconnect button. Been like this for ages across all my computers..

I have some bugs in my product which are simply too time intensive to fix with the current schedule of features which I need to implement. If I was running things these bugs would be cleaned up first but.. sales is running the show and the next feature will kick start a new promotion and so on. For us at least, there is too much demand to move forward and not enough developers to maintain this development speed. This is why bugs creep into the product and this is why some of the more obscure ones can still be found in the product 30/60/90 day's after being reported.

tomflack 4 days ago 5 replies      
I've been thinking for some years now, I wish everyone would stop implementing features and perfect the ones that are already there.

Optimise. Improve.

This is why I was so upset at Sparrow throwing in the towel - they concentrated on one thing, email, and did it better than I'd seen it done before. By specialising they were able to spend the time to get it right.

creativityhurts 4 days ago 0 replies      
Yes, we all can relate to that posts and everyone I know complains about software mentioned there, such as Skype, iTunes, Chrome, I might even add the fact that if you have 3 synced Apple devices near you a reminder pops on each one of them at the same time which shouldn't be so hard to avoid given that they're all connected to the same wifi. We live in this cloudy era, everyone speaks of clouds and sync and data everywhere but synchronization is the most broken thing of them all.

There are a lot of silly problems with the software and hardware that we use everyday and most of these problems are noticed by us, the power users. It's like with the Twitter-ad-supported saga: the power users bitch about it, look for alternatives but the regular Joe sticks with it and he's very happy. I know a lot of people who don't see any problems with Skype or Outlook and are very happy with them.

Today I was at the bank and the clerk wanted to print something and I had to literally wait there 20 minutes because the Adobe Reader was updating and some guy from IT was logged in remotely to make sure everything went fine with the update. She apologized telling me that "you know how it is with these computer programs nowdays" and that she was very happy with the old setup. I chuckled and thought of that Adobe Reader update meme[1] but deep inside I wept.

[1] http://t.qkme.me/3qk2v4.jpg

ChuckMcM 4 days ago 1 reply      
Love the rant, answer of course is in the title "Nobody's upset" which isn't really true of course it should be that "Nobody is actionably upset."

Much of this rant is a variation on 'craptialism' [1] and a number of the problems mentioned can be traced back to disk drove based storage. I've got a RAID6 appliance that I store stuff on and realized I was avoiding a lot of these bullets. (such appliances have their own issues of course but that is a different rant)

Its my hope that people will stop 'adding value' with software hacks to things like dishwashers (do we really need a ringtone to tell you its done? really?) focus on function, but that only happens when people actionably respond to these problems. They return them for their money back.

One of the truths in the consumer goods industry is that returns is an excellent signal for going to far. These things live on very small margins to begin with and returns reduce that margin still further. So folks returning 'broken' products incent the manufacturer to fix them. Its a pain though, that I truly understand.

[1] Crapitalism is the effect of racing to the bottom in terms of price to achieve market penetration / dominance. Sadly it often leads to products that are cost reduced to the point of not being functional.

nodata 4 days ago 2 replies      
We need public open bug tracking. For everything.

No more "put your bug in here, trust us, we'll fix it". They won't. They'll say you're the only one with the problem. Everyone will be so uninspired they won't report bugs.

nchuhoai 4 days ago 0 replies      
For all those who don't get the pun:


Everything's amazing and no one is happy by Louis CK

delinka 4 days ago 0 replies      
"No one from the company believes..."

1) I've been on the non-believing end. You think "how could this possibly happen?" and without standing over the user's shoulder and watching them click/tap around, it's inconceivable that the problem exists.

2) I'm sure there's a problem, and you've provided me the screenshot showing the result that indicates a problem, but I can't reproduce it. Usually because the user doesn't know how to explain reproducing the problem.

I really think both of these have to do with people's lack of detailed logical analysis. I get it, you're the bank teller and your job is to count the money and count it correctly, not to analyze pixels on the screen. I see this as a failure of developers and designers to create systems that don't have these headaches.

tl;dr - I agree with the author's final three bullet points, but I can see where the tech[nician|nologist] involved doesn't have nearly enough information to solve (or even to see) the problems.

crazygringo 4 days ago 0 replies      
The way software is sold right now is inherently broken. You pay for it before using it, so companies justifiably spend their efforts on developing new whiz-bang features to get you to attract you to buy something new, rather than fixing and rationalizing the features that already exist.

I have a hunch (that's all, though) that if there were never any up-front purchase cost for software, and instead it was all, say, monthly-subscription-based, that there would be a bigger focus on quality. "Hmm, frustrated users are cancelling their monthly subscriptions because sync doesn't work? Well, maybe we should work on that instead of adding glossy cover flow..."

praptak 4 days ago 0 replies      
Yes, software is buggy. But resources are finite, innovation is fast and buggy products are out there in the market, eating the lunch of the defect-free products that are still under development.

As irritating as all these bugs are, you, the consumer, will not wait for a perfect product but will instead settle for the crappy one that's already available. Maybe this will change for areas where innovation reaches some kind of plateau, marginal utility of new whizbang features will fall and marginal utility of bug-freeness will rise.

nsns 4 days ago 0 replies      
And what about your body? and the world around you? and your relationships? and the instruments you use?
Do your faulty examples in any way contradict anything else you know? do you have a counter example?

Reality is dirty, everything tries to break down all the time, hindered by the traces of its past, and the ambivalence of its future use. We make stuff dreaming of a prefect neat existence. This keeps us going, like moths around a light bulb. And we should keep on doing this nevertheless.

lnanek2 4 days ago 1 reply      
Doesn't Facebook say move fast and break things?

I know, personally, I have an Android app that gets about 12k new users a month, and I see exceptions reported all the time that I can't reproduce from the buggy as hell WebView, web content control, in Android. Especially when used with AdMob/Google ads, so much so that I use other advertisers instead. I could spend a week copying the source code for WebView into my app and fixing all the bugs if I'm lucky, it may use some private things I preventing it from being copied or something. I know it has threads and databases and all sorts of bizarre stuff. But still that would help like just a tiny, small percentage of the actual users. I'll get far more users working on something that applies to everyone like better graphics or multiplayer play, etc..

I did spend all weekend filing hideously long bug reports with sample code at work, though. So once you are talking about millions of users, it can make more sense, I guess. Which I suppose is where someone from Microsoft is coming from. They are famous for supporting even old bugs in their software for things like SimCity so it wouldn't break across upgrades.

mgkimsal 4 days ago 1 reply      
I've thought for a while of having a general 'bug tracker' that's centralized around me, not a particular company. I'd have one place where I file all my bugs/issues, etc, and companies could subscribe to it, or sync it in to their existing issue systems. I'm tired of having to create yet another jira/etc username/password, navigate yet another UI for reporting something, having it not work, having someone not get back to me, and so on.

Having someone get back to me or notify me of a change may never happen entirely, but I'd have a centralized record of all my issues. And other people could search them if I shared them (by default, perhaps). And vote them up, or add their own notes. Or give me an answer or workaround.

Perhaps this is sort of what stackoverflow is or where it's going, but I think there's another approach to tackle this issue, and there may be room for multiple approaches(?)

lifeisstillgood 4 days ago 0 replies      
Everything breaks and nobody is upset because we have evolved eco-systems that are minimally resilient.

And that is a good thing, and the right direction to go.

@luu - no we cannot prove even a tiny fraction of what we want to work, will do so. And the best approach is how biology has done it - failover, resilience, creative destruction, etc etc and all those good things.

I am often reminded by these sort of discussions of the anecdote of a Cabinet Minister chatting at the Russian Embassy in 1980. The senior Russian diplomat said "So, who is the person in charge of bread deliveries to London?"

HyprMusic 4 days ago 2 replies      
This is one of the things that really upsets me. I hate how nothing ever works. We spend our money on things that don't do as they say, or companies that don't do as they should. I guess it's inherit a problem with a profit driven world where more features will always trump actually working.
eckyptang 4 days ago 1 reply      
He's doing too much with too many different things. The following phrase is valid here: "A man with two watches never knows what time it is".

I rarely get problems of that magnitude. The only unreliable thing I have is my ADSL connection and that's not a problem as I can use my phone as a backup.

nicholassmith 4 days ago 0 replies      
Everything is broken, and it sucks and it's kind of our fault. Sort of.

It's a kind of, sort of our fault situation because as time has gone on we've stopped caring too much about companies sitting down and just going "Lets get this stuff sorted out and fixed, and improved and more awesome", but started caring about "How many features does it have? Can it do X in Y and Z situations?" which is great, it pushes the state of the art forward. I think companies are spending too much time trying to get stuff out the door, instead of spending the time improving what they've got.

But we end up in a weird situation where we actively want companies to stop adding new features, but a lot of us are like magpies drawn to the new and shiny. It sucks, it's their fault for not getting stuff done properly the first time, and it's our fault for expecting a new shiny thing every few months. And "move fast and break things" needs to stop being a thing.

narrator 4 days ago 1 reply      
Whenever I use windows there's always something broken. Example: old windows laptop dies and won't turn on. It's old so I remove the laptop drive and put it in an enclosure. Now I'll boot into Vista and share files off it and copy it to new Mac. Easy, right? Wrong! The thing won't let me share the files because I don't have access to them even if I am adminstrator on my windows machine. After waiting for permissions to get changed and getting a flurry of access denied popups I think its going to work but directories in the share are simply missing on the mac even though I've assigned privileges to the share user.

So..... I boot into Linux. 20 minutes of googling how to share files with macs, an apt-get or two and I'm copying off the files. Same goes for things like cd ripping. On Linux it just works, on Windows you have to get ad encrusted dodgy apps that sort of work and demand money every 5 minutes. Basically, if you are a power user, Linux rocks. Yeah I know....but Grandma will revolt! Fine, get her a mac or an android tablet. Why people who aren't forced to still use windows, I have no idea.

jakejake 4 days ago 0 replies      
It's equally frustrating to be a software developer and have a problem magically vanish when a user restarts their computer. I hate it probably more than the user. Once their problem is gone they usually no longer want to talk on the phone to try to reproduce the glitch. If we can't get it to re-occur then it's extremely difficult to fix.

Our machines have layer upon layer of firmware and software. Users are allowed to install and configure whatever they want. It's all expected to run perfectly and, for the most part, things do run pretty well these days. Features are constantly being added. Everything is changing all the time. Unexpected combinations of things still happen and with complex software there are just cases that slip through the QA cracks.

Though I do get annoyed when something crashes, it has to be a bit of a two-way street sometimes. Both sides fail at this. Not all users are good at reproducing bugs and sometimes they are downright dishonest about what they are doing (out of embarrassment, or attempt to "skip ahead" in the diagnosis and other reasons I'm sure). But in the case of big companies like Apple and Microsoft as a user I do feel like they don't provide a way for a knowledgeable user to provide them reproducible errors either. Well, they have their bug report mechanisms but it feels like yelling into the grand canyon when I do submit bugs.

bpatrianakos 4 days ago 0 replies      
I took this as whining. I'm not trying to be a dick but that's how it came off. The whole whining followed by "we can do better" is starting to become really cliche. Yeah, we can do better but we can also read some manuals, get some tech support, and you know, do some basic troubleshooting before proclaiming that these minor inconveniences should never ever happen ever.

We can make better software and we can make it easier to use and we can make everything more convenient but it'll never be enough. Making stuff better doesn't mean ridding it of all possible complications and minor annoyances. In fact, some of the things he complains about are actually features, not bugs and those cases the solution is to get a different product.

Everything is broken and nobody's upset? No. Everything is awesome and everyone's jaded.

thedudemabry 3 days ago 0 replies      
I'm about to say something shameful, something no software developer should ever proclaim. In my personal time, whenever software crashes or errors out, I am often given a prompt (varies depending on the OS/application): Report the error, or ignore.

As an engineer who has spent invaluable hours combing over end user bug reports through services like Windows Error Reporting and the like, I am incredibly thankful for each and every user that took the time to click 'Report'. And I owe my firstborn to the benevolent few who choose to write detailed comments to accompany their reports.

But alone, in the dark, ready to edit a photo or browse Reddit- I click 'Ignore'. Why? Because fuck you, that's why. My rage at uncaught exceptions bubbles up into my brain and the stack reports, "you shall not get any info out of me." This is clearly wrong, but it's my impulse. That's all.

eloisant 4 days ago 0 replies      
Well, that's the balance between features, bugs, and cost.

If consumer software companies were working more like, say, people working on Curiosity (Mars' robot) or aircraft navigation software, you could have a phone that does much less but without bugs.

The reason why it is this way is because people usually prefer to cope with minor bugs that giving up on features. Plus, when you buy a product, you usually know the list of features but not the list of potential bugs.

So you can make a company that sells phones with 0 bugs, with a 2004 set of features. Or an OS that focuses purely on providing a bug-free experience, but 5 years late.

Not sure all that would sell well.

SatvikBeri 4 days ago 0 replies      
Quality has a cost. There's usually a tradeoff between functionality and reliability. Do you prefer a phone that can surf the internet, navigate when you get lost, and send email, or a phone that has a 3 day battery and never crashes? Both choices are available.
pasbesoin 4 days ago 0 replies      
I spent a number of years doing QA ("real" QA, guiding and advising the entire lifecycle) and making sure that the software in my little corner of the world did work. (Often catching critical bugs after some other "QA" process had entirely missed them.)

It's a thankless job. The developers I worked with directly loved me -- the best of the lot did, anyway. (My observation in turn of their abilities and professionalism.) But management had no clue (and refused to get one). And many developers outside of my exclusive little clique had to be brow-beaten into some level of compliance.

Speaking generally: You say you want quality. But your actions belie this.

P.S. If you're concerned about "quality", amongst other things you should read "Zen and the Art of Motorcycle Maintenance". To understand the importance of and drive for quality amongst those who really care.

parasubvert 4 days ago 0 replies      
I don't deny problems with today's software, but perhaps the issue is that things are moving FAST, particularly in the mobile space, and like the last few software booms, sloppiness occurs. I mean, look at the pundits all complaining that the new iPhone 5 is boring, why can't Apple reinvent the mobile world every 2 years? Because they're having a hell of a time incrementally improving the current world, which isn't anywhere near perfect! There doesn't seems to be much excitement in "getting things perfectly right", it's about finding the sweet spot of "mostly right". This tends to cater to consumers and not geeks or power users with edge cases.

I don't get upset about today's software because it's much better than what we had before (even iTunes). I remember the 90s where my computer would lock up twice daily with a blue screen. Where my data would get corrupted regularly. Where I had to reinstall my OS bi-annually to deal with slow downs. I haven't had to experience these things in nearly 8 to 10 years. Now it's all more about annoyances than catastrophic failures.

gbog 4 days ago 0 replies      
It should be noted that not everything is broken, and some people are happy.

See the many posts about vim, git or command line tools on HN. I have never caught a grep bug, for instance, (cat is pretty reliable too).

The problem might be because the level of expectations raises faster that the technology. Chrome was amazing at the beginning, and now people are unimpressed.

hollerith 4 days ago 0 replies      
The world would be a better place if we spent less time talking about disrupting other industries and more time examining our own industry with a critical eye like the OP does.

Just keep in mind that making too much use of the critical eye can cause depression. At least it does so in me -- and in the author of this next fine blog post:


A quote: "I tell you this story as a cautionary tale. Try to find work that allows you to focus on positive things. Avoid like the plague any work that focuses on negative things."

I used to over-use my critical eye in an unconscious habit from childhood. The way I unlearned this bad habit is by "setting a background process" to watch for when I was enumerating or cataloging defects for no productive reason, and by "stopping my mind" when I found that I was. (I had to practice "stopping my mind" for 3 to 5 minutes at a time a couple of times a day for weeks before I started to make any progress.) In contrast, making lists of things to be grateful for never really helped me unlearn the bad habit.

To live up to my potential as a software professional clearly requires me to make some use of my critical eye, but my mental health depends on my using it selectively.

Zak 4 days ago 0 replies      
One project seeking to fix this (by re-implementing everything from scratch) is http://www.loper-os.org/

Much as I like the idea, I don't have high hopes. The revolutionary "right thing" approach has typically lost to the evolutionary "worse is better" in software fields with broad appeal. This is true even with the tools and materials used to build computing systems at a low level. Consider the popularity of programming languages like C++ compared to say... Smalltalk.

jsz0 4 days ago 0 replies      
My computing experience became far more zen like when I gave up on ugly hacks and pointless tweaks. I just use the software how it's designed to work. Path of least resistance. Vast majority of the time this approach works great. Not sure if that's the root of his problems or not but it definitely sounds like it to me because these were the exact types of problems I would encounter after running some hacky app or using unsupported/undocumented features.

For example I've had the same iPhoto library for about 5 years now. The only issue I ever had was importing duplicate photos (my fault) and then running a hacky app that was supposed to magically fix this. Nope. It just trashed my iPhoto Library file. If I had manually deleted the duplicates I wouldn't have had any problems. I've had countless address book/calendar syncing issues for the same reasons. I gave up on trying to hack together a system that works now I'm fine with these different services being islands. I don't need every contact I've made in the last 20 years on every device I own.

crag 4 days ago 1 reply      
It's not the bugs that "bug" me. It's the time it takes developers to fix them. Example: Mountain Lion's Mail; for some of us, it suddenly takes all the accounts off-line. The fix is to restart it. There are HUGE threads in the forums [about this issues and several others], and multiple posts on various sites around the net and STILL no fix.

Another example from Apple: The 2011 MacBook Air wireless connections issues. Also several huge threads in the forums, and multiple posts around the net and nothing.

And Apple isn't the only company. I don't even want to get started on the state of video games today (look at the launch of D3 from Blizzard and what a nightmare that was or SW:TOR - just a couple of recent examples).

I imagine two reasons for that state we are at now: Money - the rush to release (and "worry about fixing bugs later" -this is VERY true in the gaming world); and in Apple's case, they hate to admit anything can possibly be wrong in perfect-town Apple.

csense 4 days ago 0 replies      
RMS's original motivation for starting GNU was to address exactly the frustrations expressed by the article.

With open source software, if the universe of people with a particular bug is big enough, it'll contain developers who are capable of fixing it.

Or if a particular bug is hurting you badly enough, you can find and pay a developer to fix it.

See Linus's Law [1] (scroll down to point #8.)

[1] http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral...

jvdh 4 days ago 0 replies      
Things get even worse when you know something is broken but nobody else seems to care.

At the cafetaria here I pay with my bankcard, if I put the card in too soon, the payment never works. I know that the payment device software is clearly broken.
The solution: The clerk stops the payment and restarts it if you put it in too soon, or yanks out your card and puts it back in himself.

Good luck explaining that it's broken.

RivieraKid 4 days ago 0 replies      
When I make software on my own, I really care about every detail and I'm focused on making my users happy. I'm thinkng in both low level and the big picture.

When I do software for money I often just want to quickly do what's required from me. My motivation is more "getting it done" and less "making user's happy". I'm thinking "how to implement requirenment A" instead of "how to best solve user's problem A". Another big factor is that I don't have full responsibility. If some parts of the UI can be improved I often don't care - I'm not responsible for that, convincing my manager that the UI sucks just isn't worth it.

kfk 4 days ago 1 reply      
Let me take 1 example: MS Outlook. It really, truly, amazingly, sucks. Badly. It is done to handle few email, few enough that you can remember about them. Good luck if you work in a corporate environment and you need to find an email from even only 1 yr ago.

Is this an issue? Yes. Do people care? Not enough apparently. What do you do? You either accept it or you find a solution at a low enough price that people start caring.

Bottom line: look at what people are willing to pay.

jbert 4 days ago 1 reply      
Does this mean that there is a room for a brand in which "everything just works"?

Or would that so feature-poor/expensive/slow-moving/low-status that no-one would use it?

johncoltrane 4 days ago 0 replies      
There was a time when a computer and the software that ran on it cost millions. That was a time when a bug would cost millions and sink a company or two.
glassx 4 days ago 1 reply      
And it's not just with computers.

I have a Sony Bravia TV and with every update its "UI" got slower and slower, until I disabled updates. I know it's got a lot of cool features in it, but I just wanted a simple TV.

zvrba 4 days ago 0 replies      
Bah, this post reads like a 5-year old bitching because he didn't get his ice-cream [1]. May it be that these problems aren't fixed because they arise from a subtle interaction of hung routers, failing hardware, other installed software that runs concurrently in the background [2], etc. How do you debug something that you can't reproduce in a "standard" setup? For how many CPU-eons should you run your networked application on a simulated network to be reasonably sure (NB! NOT prove!) that it'll handle network outages? HOW are you supposed to write software that behaves "correctly" when its preconditions aren't true? (e.g., that the OS's routing table is sane?) Etc, etc.

[1] Yes, Gmail is slow for me too; haven't used its web interface for years, and I've moved my correspondence to private domain. Some of his complaints are valid complaints about sloppiness. He also seems rather unhappy with Apple's SW, so I'm wondering why is he still giving shitloads of money to Apple.

[2] For example, a backup on my Win7 machine failed, with a mysterious message in event log urging me to look for other errors in the event log. I scrolled down and saw that AV (MSE) had quarantined a certain file. I deleted the file, and lo and behold, the backup succeeded!

squidsoup 4 days ago 0 replies      
There are clearly a myriad of problems contributing to the sense that "everything's broken", political, social and technical. Focusing purely on the technical aspect however, in particular how we write software, what has become of the promise of statically typed pure languages like Haskell?

Can anyone elucidate on whether adopting this mode of development where software can be formally reasoned about has led to significantly fewer bugs in real-world software scenarios? Is the legacy of Smalltalk impeding progress?

I ask this as a fairly average OO software developer that has found that despite being fastidious about keeping up with code coverage, bugs still present themselves all the same.

darkstalker 4 days ago 0 replies      
There is a common pattern in all the stuff mentioned there: closed source proprietary software. The companies who wrote them are the ones to blame. You can report bugs/problems, then sit there and wait, but as said in the article, they don't care and nothing will happen. You're already trapped in the closed ecosystem, your data in some proprietary format, and (un)happily living inside the walled garden. If everything is broken, is because you chosen broken software.
papercruncher 3 days ago 0 replies      
As a Microsoft employee, OP has access to the private symbol server. Open up windbg and for a lot of MSFT products you can file a bug and send a dump straight to the team... all with a single command and without leaving the debugger.

Other than that, I really enjoyed the author's writing style, it was a good rant

tambourine_man 4 days ago 0 replies      
I'm am complaining not because it sucks, but because I KNOW we can do better.

Yes, I guess that's why we are alone. Most people don't know it can be better. You probably have to be writing software for a a long time to be furious when something is slow or broken in today's hardware.

goggles99 4 days ago 0 replies      
I love you Scott, but look at projects you have managed and will manage, they come out with bugs/problems/design flaws every time. Judgment is easy, but practice what you preach if you really want people to listen.

I think that you are expecting too much from he human race. We CAN always do better, but there will always be software bugs no matter what.

Humans will always make errors in judgment, planning or execution. Look at the Mars rovers, they updated the firmware on them once they were on mars. Do you think that they did not go over everything carefully? Look at anything which has been acclaimed to have been the greatest design or implementation ever and you can always find many same flaws with it.

I get what you are saying with the we can do better, but most people (including you) would rather be productive rather than going over everything 5 times and re-analyzing every design (analysis paralysis). Who could survive that grind? Humans need to be challenged and need to feel like they are progressing or their morale will be destroyed.

Things will not EVER change dramatically from this pattern. Everything is amazing and nobody is happy.

motters 4 days ago 0 replies      
I think this could be rephrased as "Apple and Microsoft products are broken", and that's a problem because he's a Microsoft employee so he probably has no option but to dogfood. For less constrained users there are other products around though which are not as broken.
Tichy 4 days ago 0 replies      
A lot of these problems seem to relate to Apple products. Just saying - there are other options out there.

I notice he uses only one open source product (Google Chrome). One aspect of choosing open source is being able to fix problems you care about yourself (in theory at least).

juddlyon 4 days ago 0 replies      
The more into technology I get, the more I'm amazed that anything works in the first place.
netvarun 4 days ago 0 replies      
When I saw this my initial reaction was 'bleh. bloody #firstworldproblems'.

But then it struck me: One man's first world problem is another man's billion dollar company.

peterwwillis 4 days ago 0 replies      
There's more important things in life than getting upset about software. Try working for a company where everything is "broken" and try to fix it for a few years, always in vain. You'll stop caring, too.
molbioguy 4 days ago 0 replies      
Patience. As the rate of technological change accelerates, patience is slipping away. How long can you wait for the next improved version with new features? From a technical point of view, it's all possible, so why isn't it available yet? I'd say that both consumers and investors can't wait very long, so businesses push out features (sometimes prematurely) to meet the demands, which fuels the impatience for new features. Vicious cycle started.
autophil 4 days ago 1 reply      
The big lie is we as humans have it all together. That we are the superior species on the planet and we can do what the hell we want.

Global warming, destruction of nature, loss of liberty because governments we elect betray us - don't worry, somebody else will fix that, probably some Y Combinator startup. No wait, driverless cars are the answer.

Us humans hallucinate in our own private world more than we interface with the actual world. We can and will rationalize anything. Nobody is upset because we aren't really there, or even here. We are off somewhere else, thinking we are smarter than we are and that everything will be okay.

With the terrifying state the planet is in, we should all be upset.

egiva 4 days ago 0 replies      
Question: maybe just my simplistic take on these complaints - and I have the same ones - but can 90% of these all be broken down into two categories? (database-related), and (UI-related) issues? Windows desktop indexing, iPhone extra space taken up by "other" - can you simplify these things by saying that they´re database related? I´d love to hear someone´s opinion on that.
Benoit_ 4 days ago 0 replies      
It's not specific to software.

The general issue is that the indirect costs of a product are not supported by the company that created it.

I explain: a company could generally earn more money by releasing new software (or features) than by fixing bugs, even if its users spend more time and money because of these bugs than it would cost to fix them.

We can see it everywhere:
- unhealthy foods generating long-term medical care costs
- short life products generating cost of buying new ones quickly (built-in obsolescence)
- cheap electricity generating thousands of years of waste management
- etc

If we find ways to make these indirect costs absorbed, we could improve software quality.

- for proprietary software, include a kind of warranty to fix bugs when enough users ask for it (similarly to getsatisfaction.com)
- for opensource software, I think of getsatisfaction.com coupled with a donation system to encourage people to fix popular requests

What do you think?

jwatte 4 days ago 0 replies      
It's because the market competes on features. This leads to a race to the bottom. If you go slower and test more, you will be too late and too expensive, and nobody will buy your stuff. The market does not value too high quality.
pjmlp 4 days ago 0 replies      
The only way out of this is to make companies accountable for the software, the same way as in any other industry.
tocomment 4 days ago 1 reply      
I'm hitting the iPhoto problems he mentions pretty bad lately. Does anyone know what options I have? Is there an easy way to switch to just using the file system for photos? It seems like iPhoto is so interwoven into the OS.
npsimons 4 days ago 1 reply      
Stream of consciousness whilst reading article:

"Hmm, first one is about iPhone; next one is about Windows; I wonder . . . "

Ctl-F "linux" - first hit is the comments, and I close the tab, contentedly.

lazyjones 4 days ago 2 replies      
With no accountability for vendors at all, no software warranties worth the name, this is hardly a surprise. Until people can start suing for damages (it costs me time = money to get such problems fixed), software will stay mostly broken because vendors have no good reason to invest money in fixing it.
Havoc 4 days ago 0 replies      
Thats quite a long list. Personally I just need the company VPN to break & then everything I need to do my job goes down the drain...

On an entirely unrelated note, guess how much work I got done today...

rjzzleep 4 days ago 0 replies      
while I do feel the same, it's not like there isn't a solution to most of those problems.

have problems with stock roms on devices since you don't know what they do? Try android custom roms.

Have problems with Operating systems doing insane amounts of work without you ever knowing what that is? Try rolling your own Distro.

Problem with gmail? Try running mutt somewhere and give yourself pub key access to the server.

But more generally don't fucking rely on the cloud.

Oh dear, skype, I have to use it for work purposes, but man, how I wish I didn't. He forgot to add android and linux to the list. Compared to that you can at least just use an older skype version on windows and be done with it.

My notebook runs a heavily customized linux and it boots in under 10 second. Updating my system? Still boots in under 10 seconds. All my linux distro setups lasted for years.

krautsourced 4 days ago 0 replies      
He's hitting the nail on the head. As for the reasons... there are multiple culprits at work here.

- complexity of modern systems
- reliance on third party libraries that suffer from all the same problems
- underfunding
- understaffing
- QA next to non-existant or "sourced out" to support staff
- unrealistic deadlines
- incompetence (that was always a problem, but combined with the lack of QA becomes more apparent to the end user)

Basically the issue is we all want more, for less money, in a short amount of time. And I think we've hit the ceiling for that as far as the human factor is concerned.

Impatient 4 days ago 0 replies      
"How do we fix it?"

Pay for more stuff.

13 of the 20 issues are on freeware or free services. Gmail way exceeds my expectations, because I know I'm the product, not the customer.

anuraj 4 days ago 1 reply      
Over the years we have failed to develop software as a true engineering discipline. The way a structural engineer can design and certify a structure as sound, I dream one day we will be able to do for software.
bobwaycott 4 days ago 0 replies      
> I should get an Xbox achievement for every time I press "Clear" in the iPhone notification window.

Too true.

heydonovan 4 days ago 0 replies      
Honestly, I think a step in the right direction would be more people submitting bug reports. Get more people used to the idea that bugs do exist in software, and it's up to everybody to say "Hey, your software has issues. This is how you can replicate it. Please fix!". Also, let's stop implementing features, and fix bugs first. No use building upon software with known bugs in it.
Harmonize 4 days ago 0 replies      
Everything's broken and nobody's doing anything

Surely somebody's doing something! I'm sure if you look around you'll find a lot of people doing a lot of things to fix software quality and improve user experience in software applications.

But, consider what's really broken in the world: food supply, resource depletion, pollution, poverty, crime, violence, war... When I read a title like, "Everything's broken" those are the problems that come into my head. And so, I was disappointed to read your list. It didn't aim high enough for the problems I was considering.

Makes me feel one component what's broken is our priorities and focus. Clearly the priority and focus for the software you're using is not on quality and experience. It seems the software industry has optimized to get-product-out and iterate asap. Ship!

But then, when I consider the larger question of "what's broken?" where I look at the real issues in the world, I come to the same answer: the priority and focus of society is not tilted strongly enough towards fixing those types of big-world problems. Instead, we have so many of our great minds attacking other types of problems.

Generally, when we humans focus and prioritize, we can achieve just about anything we desire.

corwinstephen 4 days ago 0 replies      
True software sucks, but that doesn't necessarily imply that it used to be any better. I think software has always sucked. Yeah, there are more problems now, but we're also able to do quite a lot more with computers than we used to be able to as well. I would say that over time, the level of effort out in by developers has stayed the same.
modernshoggoth 4 days ago 0 replies      
Everything too complicated to fit into any one single person's head is going to have problems. That's how it works. There is a tradeoff of functionality vs expense-of-time for any given task, and if you polish the functionality to a mirror-shine but don't receive any economic benefit for doing so, then your software won't make much money.
yskchu 4 days ago 0 replies      
I think it's people deciding that "good enough" is good enough. In any case, with today's rapid development and update cycles, it's easy to fix mistakes.

Fast, good, cheap; pick any two.

80% of the people only use 20% of the features anyway. And they never see the bugs that drives the remaining 20% of the people nuts.

monosym 3 days ago 0 replies      
It's almost kind of endearing,that even digital tools still have bouts of human error, albeit to a lesser extent than something like vintage/analogue electronics.
brendanobrien 4 days ago 0 replies      
first. world. problems.
kahawe 2 days ago 0 replies      
Skype: Try sending a message...
dakrisht 3 days ago 0 replies      
Best post I've read all year.
perrywky 4 days ago 1 reply      
why should we care about these rarely happened bugs? They just happened in a complex scenario, which is hard to reproduce and those bugs really doesn't matter. I think it is not worth the effort to deal with these bugs.
udpheaders 3 days ago 0 replies      
"If builders constructed buildings the way software developers write software, the first woodpecker to come along would cause the collapse of civilzation."
systematical 4 days ago 0 replies      
Your title is broken and i'm upset about it.
moubarak 4 days ago 0 replies      
Thank you so much for this article. Im not alone.
fallenapple 4 days ago 0 replies      
Apple is now as annoying as Microsoft. They have attracted the type of users who will put up with anything.

Business logic dictates they will do what they can get away with. If they can sell shoddy product (that looks good in the commercial or in the store), then they will do so.

Savvy users must suffer, or find a new system to use.

Realtime Web Messaging over Animated Gifs github.com
568 points by old_sound  7 days ago   106 comments top 33
jere 7 days ago 5 replies      
I am convinced HN is the Pinterest of software.

Someone made a coffee table out of old crates? Pin. Someone made a fence out of old wood pallets? Pin.

Someone made a realtime messaging library out of animated gifs? Upvote.

simonw 7 days ago 3 replies      
I've seen this technique once before... Ka-Ping Yee built a demo that did this back in 1999: http://zesty.ca/chat/

It's an awesome hack, cool to see it being rediscovered/reinvented after so much time!

arscan 7 days ago 4 replies      
This is awesome -- you never know when a solution like this might come in handy.

Wayyyyy back in the day (NS4, IE4 day) I used the width / height of an image the browser polled every few seconds as a transport mechanism... the only other option (refreshing a hidden frame) caused an irritating "page refresh" clicking noise. This was before XMLHttpRequest obviously and was enough bandwidth for our needs. It worked so well that I believe its still being used in production systems.

I haven't looked at the javascript generated in this animated gif solution, but I assume that it does some stuff that wouldn't work in the pre-IE6 browsers. It would be extremely amazing if it did though.

emp_ 7 days ago 5 replies      
> sadly we are in mid September here in the northern hemisphere.

I am in the south and can confirm we are also in September, will report back with news.


joezydeco 7 days ago 1 reply      
So when you read about countries like Venezuela installing proxies in front of Twitter before an upcoming election [1], is there a potential to use this technique to tunnel information into areas that normally would suppress it?

[1] http://orvtech.com/en/general/gobierno-venezolano-elecciones...

benwerd 7 days ago 0 replies      
First person to turn a 90s animated GIF divider into an actual live progress bar with API wins the Internet.
thebigshane 7 days ago 2 replies      
No one has mentioned these specific use cases yet...

1) live charts and graphs of server loads

2) interactive maps (instead of loading new images, just append)

3) I'm also thinking of some kind of captcha, where the user waits for the server to show a certain image and then can submit a comment and the server would know which submits were valid based on timestamp... or something.

4) weather, temperature, stocks

5) collaborative drawing applet? (would still require ajax though)

richthegeek 7 days ago 1 reply      
I did something similar for cheap (insecure) desktop streaming a few years ago.

Roughly, use scrot (or similar screen capturing command line tool) to take a screenshot of the desktop and then encode it into a gif frame. Repeat once per second. Boom, your desktop is now a gif.

The main problem with this approach is that transmitting stuff via gif (low-color bitmaps, remember) is painfully slow even with modern internet.

That said, could probably be very useful in some instances!

dkroy 7 days ago 0 replies      
That is extremely clever, this just goes to show that if you know how something works inside and out you can come up with clever hacks.
crisnoble 7 days ago 3 replies      
If realtime messaging is a new and cool thing, what were chat rooms back in the day? not realtime? Am I missing something? I don't remember needing reloading those pages...

All that aside, this is amazing.

fmax30 7 days ago 1 reply      
It would be much cooler if you were to send the video stream to the gif instead of the booring old messages. Very cool though. Just think if something like this with video was invented back in the days of IE6 , it would have been the skype of its day.
aggronn 7 days ago 1 reply      
Does this work on the iphone? I expect this would be a great alternative to socket.io for mobile that doesn't support websockets or flash.
eliaskg 7 days ago 2 replies      
Would it be possible to use <canvas> for extracting pixel information as binary data?
king_jester 7 days ago 1 reply      
This is pretty cool. I don't know if I would use this in production, as people with epilepsy usually disable GIFs to protect themselves, so this tech would probably fail (usually people use an extension or set the browser to only load frame 1 of the GIF and stop).
eslachance 7 days ago 2 replies      
That's pretty amazing, and it's really too bad that this technique wasn't actually available years before... (or was it?)
metatation 6 days ago 0 replies      
I get the humor of this library, but in reality wouldn't you just use HTTP 1.1 chunked transfer encoding instead? According to http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol, that would even work with your IE 2 users.
barbs 7 days ago 0 replies      
"The awesome image that illustrates this page was given by the internet."
That excellent gif is from "Tim and Eric Awesome Show, Great Job!" Just thought I'd give proper credit where it's due.
dag11 7 days ago 0 replies      
You can also use image streams: http://minipenguin.com/?p=647
peterwwillis 7 days ago 0 replies      
How exactly is this a better approach than multipart/x-mixed-replace, which is designed to push new messages from the server to the client in a stream until the server decides to stop?
kragen 7 days ago 1 reply      
The original chat system from 1999 from which he took inspiration was written by Ka-Ping Yee, not an anonymous hacker.
Phargo 7 days ago 2 replies      
Couldn't this be used to add another layer of security to a conversation? If there is a way to generate gifs on the fly that contained what you wished to say, it could be used to mask your message from basic text screening and copy/paste.


macca321 7 days ago 0 replies      
does it work in email clients?
dotborg 7 days ago 1 reply      
there is no client side code or am I missing something?

how do I decode my data from animated gif in javascript?

mikemoka 7 days ago 0 replies      
if flash wasn't dying already I would have asked if this could have been useful to enable flash games or videos on the ipad... but the answer would have probably been "no" anyway
Xosofox 7 days ago 0 replies      
Combine this with a client side JavaScript based OCR implementation, and you could even send TEXT in real-time.

Imagine the possibilities !!11!1

k2xl 7 days ago 0 replies      
Question: Could this be used for screen sharing?
jcfrei 7 days ago 0 replies      
hacking at its finest. while real life use cases are debatable the implementation is very, very cool.
samet 7 days ago 0 replies      
Very clever hack.
foxwoods 6 days ago 0 replies      
make a QR code stream, and decode it in browser.
Xosofox 7 days ago 0 replies      
GIF... that's soooo geocities...

Very clever

gifplus 7 days ago 0 replies      
I'm crying. I always wanted one of these. I'm so happy.
zoowar 7 days ago 0 replies      
From the example,
;; go and open http://localhost:8081/ in Safari or IE6

IE6, are you serious?

khangtoh 7 days ago 0 replies      
This is just wrong and needs to die and go away. It's probably fun to read for the 1st minute.
Sh.py github.com
485 points by daenz  5 days ago   64 comments top 26
Sidnicious 5 days ago 3 replies      
So, this feature:


Lets you replace `expect` with Python code pretty darn easily.

SoftwareMaven 5 days ago 1 reply      
I like PBS (now sh.py) for certain use cases. If I'm writing an actual shell script, I think it is brilliant. It keeps the script focused on the task at hand instead of Python's somewhat painful process communication.

On the other hand, if I have an application that needs to communicate with a subprocess as a small piece of the whole, I'll use other methods that are less "magical". It's not that I'm inherently against magic, but rather that, in that use case, I generally want very explicit control over what is happening.

jon6 4 days ago 2 replies      
I spent a few minutes trying to figure out how to install the thing so for anyone that is equally as lost

    $ pip install sh

or goto the github page https://github.com/amoffat/sh

russelldavis 4 days ago 1 reply      
For a similar library with a slightly different take, check out plumbum:


Here's the explanation on the differences:

"The project has been inspired by PBS of Andrew Moffat, and has borrowed some of his ideas (namely treating programs like functions and the nice trick for importing commands). However, I felt there was too much magic going on in PBS, and that the syntax wasn't what I had in mind when I came to write shell-like programs. I contacted Andrew about these issues, but he wanted to keep PBS this way. Other than that, the two libraries go in different directions, where Plumbum attempts to provide a more wholesome approach."

saikat 5 days ago 2 replies      
For anyone looking for a nice subprocess library for Ruby, my friend Greg released one earlier this week - https://github.com/gdb/rubysh
arturadib 4 days ago 1 reply      
Definitely neat, but of course platform-dependent.

Due to the cross-platform needs of Mozilla's PDF.js build scripts, we've been writing a Node.js lib on top of Node's APIs that enables you to write shell-like scripts that run seamlessly on multiple platforms:


Like Sh.py, you can (if you must) also run external commands, either synchronously or asynchronously.

sartakdotorg 5 days ago 2 replies      
Perl has this too: https://metacpan.org/module/Shell

Written in 1994, by Larry himself!

subhobroto 5 days ago 1 reply      
I have found this extremely useful - used it to write many things - from a set of scripts that bootstrap chef server onto a node from scratch to a file chunking program that optimizes log files to align with hadoop block sizes using multiprocessing and this. It made a lot of things very easy.

This version introduces many positive changes: specially 'Iterating over output' that I have been waiting for a long time.

Andrew wants to increase his support for MacOS and would like to have test results from "python setup.py test" (to run the whole test suite). One identified bug is: http://bugs.python.org/issue15898

I would love to see more people use this to simplify their work!

If anyone is interested in looking into the scripts I wrote to see what's possible, let me know.

philp 4 days ago 1 reply      
Could somebody explain to me how this is different from envoy? https://github.com/kennethreitz/envoy

Not meant as a snide remark; genuinely curious.

AntiRush 5 days ago 1 reply      
I wrote something similar on top of nodejs to simplify some problems at Game Closure.


It's probably not ready for prime time - past it's initial use cases it hasn't been tested much. Things like sh.py and jash are a really neat solution for some problems.

notatoad 4 days ago 0 replies      
This is beautiful. Thank you.
nvmc 3 days ago 0 replies      
I foresee a lot of frustrated users trying to google things about this project.
nimrody 4 days ago 1 reply      
Throwing exceptions when a command returns non-zero exit status is very useful indeed. However, this isn't very different from using the shell's own && operator.

I still believe that wrapping shell commands with functions is the way to go. Functions can intelligently check their arguments and prevent propagation of dangerous (or otherwise obviously incorrect) arguments.

jlgreco 4 days ago 0 replies      
Rather tempting to use this with aa Python REPL to replace a more traditional shell.
nodesocket 4 days ago 0 replies      
Founder of Commando.io (http://commando.io) here. The tutorial on SSH was particularly interesting, since we are doing some of the same sort of things to help with orchestration of servers. Currently we are using `libssh2` via a PHP module, but switching to a sparkling new node.js interface for the SSH and SCP connections and executions shortly.
forgotusername 4 days ago 0 replies      
It's worse than that. It replaces sys.modules['sh'] with something that isn't a types.ModuleType in the middle of the module's initialization.

Cute, but definitely on the list of things I'd remove on sight if encountered in a commercial project.

arnarbi 4 days ago 1 reply      
What happens to the order of keyword arguments?
ragmondo 4 days ago 0 replies      
I would rather have py.sh ... a unix shell running python.
riffraff 4 days ago 1 reply      
for those wondering how "import madeupname" works, basically the incantation is:

    # unless __name__ == "__main__" 
self = sys.modules[__name__]
# SelfWrapper has a custom __getattr__
sys.modules[__name__] = SelfWrapper(self)

which seems somewhat unpythonesque (aren't import hooks supposed to be used for this?) but it's cool and I hadn't seen it before.

ompemi 4 days ago 0 replies      
It saved my day, I expected partials with cwd parameter and they were there. I used this instead of GitPython + manual popen for some git management tasks.
bthomas 4 days ago 1 reply      
Do the python3 print statements imply anything about whether it's compatible with python2?

And what's the best way to quickly look and see which versions a package is compatible with?

OrdojanAndrius 4 days ago 0 replies      
Ohh this looks awesome, I wish it would work for windows thought.
scdoshi 4 days ago 1 reply      
This is cool. Could have used it yesterday, literally.
SIULHT 4 days ago 2 replies      
Does this include scp/rsync?
maskedinvader 3 days ago 0 replies      
this is awesome, thank you for posting
esschul 4 days ago 1 reply      
Hey, just like groovy's "".execute()
Introducing the Command Bar github.com
408 points by dko  4 days ago   97 comments top 30
crazygringo 4 days ago 3 replies      
Wow, a command-line interface to a website is something I never thought I'd see.

My first reaction was that it's a step backwards because the usual benefits of a command line aren't present here (you're usually already using your mouse, commands can't be piped, no shell scripts to run things in sequence)...

But I'm intigued -- maybe it's a possible step forwards? The implementation is very well done. I suppose maybe it functions like traditional keyboard shortcuts in a way? To follow a user, instead of finding their page and clicking follow, you just type "@user follow".

Still, all the commands are so basic, and many are infrequently used, I don't really see much of the "shortcut" value. I'm very curious to see if this user interface concept grows. Imagine if this became a standard way to interface with web API's!

tarr11 4 days ago 9 replies      
Playing with this for a few minutes:

* I wish it had vim keybindings (ie, hit esc, then use hjkl to navigate)

* It gives me the option to follow myself. (Bug?)

* I like how I can learn commands via the autocomplete bar (issue, branch, graph, etc)

* I like how the autocomplete bar refreshes after I have control-tabbed away and back. Too many autocompletes lose this behavior

* Searching in a repository username/repo <searchterm> doesn't work the way I expect. It just brings up the regular search

Overall, very useful though.

tomblomfield 4 days ago 3 replies      
Cool toy, but how about letting users just search for code in a repo properly?
nathan_long 4 days ago 0 replies      
The one command-line feature I want most on Github is `git grep`. I have cloned projects locally solely to be able to do that.
_djo_ 4 days ago 0 replies      
This UI concept seems to be gaining in popularity. Jira 5 has a similar (though less powerful) option-completion action bar that you can pull up with a shortcut when viewing an Issue.

I've been considering adopting a similar concept for a complex enterprise application that I maintain where the number of possible actions on a certain page is huge.

johncoltrane 4 days ago 1 reply      
Well, we already have a command bar at the top of the window. What about these commands?


ef4 4 days ago 0 replies      
Nice. I wish more GUIs had this kind of capability.

Long live the command line. At least until I get my neural implants.

dangoor 3 days ago 0 replies      
If you want a command line for your own site, you can use the GCLI project (BSD licensed, use it freely!)


This is the command line that's in Firefox 16's Developer Toolbar (final release is coming in early October):


I love command lines, personally :)

state 4 days ago 0 replies      
I really like seeing this UI approach becoming more popular. I find it particularly worthwhile because I think it helps build familiarity without being limiting the way simple autocomplete can. This approach broadens the knowledge of the user " even (I think) in the case of something like GitHub where most users are particularly competent.
mrgreenfur 4 days ago 3 replies      
I like github for their sweet hosting and easy collaboration. I have no idea who would use this command bar. Do people really want to move the mouse to click on a cli and then guess/remember the syntax?

I don't really get why they built this... Anyone?

evanmoran 4 days ago 0 replies      
To remind everyone how awesome xkcd's commandline is:


zb 4 days ago 0 replies      
This seems like a step in the right direction, because GitHub's search remains awful.

For example, I can now type in "<user>/<repo> #123" to go to an issue, but if I am already on the Issues page for that repo and I type "#123" in the box labelled "Search: Issues & Milestones..." it still comes up with nothing. And that's not even challenging.

I'm desperately hoping that this feature is an indication that they've noticed that finding anything on the site requires either 8 million mouse clicks or manually editing URLs.

beatpanda 4 days ago 0 replies      
I want this for every website, and for most of the desktop apps I use. Typing, for me, is so much easier than finding menu items and clicking on them. Imagine Photoshop with an autocompleting command line instead of a maze of menus. I could work so much faster.
conradev 4 days ago 0 replies      
This is similar to a plugin I have been using in Alfred for quick access to Github (but not nearly as feature complete):


DigitalSea 4 days ago 0 replies      
This is awesome. I would love to see the concept of a website command line interface explored a bit further, hopefully Github implement something like Vim keybindings and a few other useful commands. The future is bright, man.
jamespitts 4 days ago 0 replies      
It is fantastic that a command interface is now a part of a very public system like github.

These things really speed up work for power-users and let maintainers add functionality without adding more complexity to the user experience than is appropriate.

RyanMcGreal 3 days ago 0 replies      
Great feature - I really like it. My only request is that the suggestions be clickable links so that you can open one in a new tab.
rurounijones 3 days ago 0 replies      
I wondered why the "search" bar had suddenly got really slow today and caused Firefox to freeze a little bit when using it.

Need to juice the performance a bit I think

peterbe 4 days ago 0 replies      
Note, Chrome junkies, the Firefox awesome bar already does most of these :)
tbourdon 3 days ago 0 replies      
This paradigm is very powerful. The only thing I see missing from these types of interfaces is the ability to select part or all of the output and use it as input for a new command.

Think of it as an intermediate step of piping where the user has the ability to manually filter content. This UI concept would cover the vast majority of UI needs as almost any workflow could be captured with the following...

1.) Issue command that produces 0..N results.
2.) View results in list format.
3.) Select individual results for details view.
4.) Select 0..N results as input to a subsequent command.

magnusgraviti 4 days ago 1 reply      
I think it would be even better to have some terminal emulator on github. Even now with so improved UIs I like command line interface.
flyhighplato 4 days ago 0 replies      
Giving the type of people who like command lines a command line -- not a bad idea!

The down side is that, I think, this is really only useful for the github power user. The upside is: I'm a github power user!

Seriously, though, I hope they don't use this command line as a sort of cop-out for continuously improving their UI.

lukencode 4 days ago 0 replies      
I put together a little admin command line that you could bring up with the ~ key that looks like this: http://i.imgur.com/mq7ko.png?1

It is built for asp.net but you could easily apply the same concept somewhere else. More info if anyone is interested: http://lukencode.com/2011/12/11/netbashan-alternative-to-end...

thomasfl 3 days ago 0 replies      
Don't you use the browsers address bar for that?
andrewingram 3 days ago 0 replies      
Now I just need an Alfred extension that talks to the backend URLs
jMyles 3 days ago 1 reply      
Am I the only one who thought this was going to let me run git commands?
cientifico 4 days ago 4 replies      
You only miss one thing:

* map the '/' symbol to focus:search box.

daralthus 3 days ago 0 replies      
cool, but how about making it context (page) aware, so you could write just "@watch" on a repo's page?
rolfvandekrol 3 days ago 0 replies      
It was already shown here https://github.com/blog/1252-how-we-keep-github-fast. So we could have known it would come.
missechokit 4 days ago 0 replies      
Death to the CLI/GUI religious wars.
Xkcd: Click and Drag xkcd.com
405 points by nrkn  2 days ago   88 comments top 40
potch 2 days ago 6 replies      
I wrote some JS to add keyboard controls to the map, because clicking and dragging is for suckers. http://www.potch.me/blog/press-and-hold.html
dmor 2 days ago 3 replies      
Bwahaha, upper left corner (waaaay up). I'm working at a small startup. Our business model is "taking free drinks from industry events and reselling them".

Edit: Holy shit I had no idea how huge this was! I'd pay for a massive framed poster of this thing.

nikcub 2 days ago 1 reply      
Don't use any of the spoilers, image maps or sites that stich it together, it is much more enjoyable when you discover the entire image through the viewport dimensions as originally intended.

It is also much more enjoyable when you don't know what to expect

V99 2 days ago 1 reply      
1/8 scale (256x256 tiles): http://edc.srvs.us/1110-eighth/

1/4 scale (512x512 tiles): http://edc.srvs.us/1110-quarter/

1/2 scale (1024x1024 tiles): http://edc.srvs.us/1110-half/

full size (2048x2048 tiles): http://edc.srvs.us/1110/

None of them crash Chrome on my Mac, but good luck with that...

Mithrandir 2 days ago 2 replies      
Here's a torrent of all the images: https://ubuntuone.com/4VxOo5cnInZWQUEplIdb2c
gkoberger 2 days ago 0 replies      
Simple way to share positions:

var p =$('.map').position();prompt("Have someone run this code to see this position","$('.map').css({'left':"+p['left']+", 'top':"+p['top']+"})");

This gives you a snippet you can send to someone else to run.


Also, don't want to drag? http://www.potch.me/blog/press-and-hold.html

krisneuharth 2 days ago 2 replies      
Excellent! I feel like Randall is getting closer to producing an actual game with his worlds and characters. I look forward to what he has in store for us in the future.
nrkn 2 days ago 1 reply      
rivo 2 days ago 0 replies      
A practical introduction to the Backtracking algorithm.
barrkel 2 days ago 1 reply      
It's disappointing that it appears this won't make the front page. It appears the domain is on a blacklist.

Makes sense from a cheap humour perspective, but that's not what this one is about.

elssar 2 days ago 1 reply      
Phew, found both the edges, traversed all of the tunnels. Finally I'm free!

Also, really impressed. The way the tunnels on the left side met up with the Mario tunnel was pretty cool.

pestaa 2 days ago 0 replies      
I had to stop because my hand began to hurt.

You have my deepest gratitude for reminding me what discovery and exploration feels like.

carlesfe 2 days ago 0 replies      
Does the comic remind anybody else of Terraria? 2D scrollers are the best games...
reinierladan 2 days ago 1 reply      
I created a full high res PDF of the image (only 11MB), with readable text balloons. " http://s.rlink.co/JZ6G
nicholassmith 2 days ago 0 replies      
I just spent 5 minutes exploring and don't think I've seen even 25% of it. Had a grin from the off as well.
Digit-Al 2 days ago 3 replies      
The mind boggles. How long must it have taken him to create this. It is HUGE. I have been scrolling round for about 20 minutes and still have not found an end to it.
subsystem 2 days ago 0 replies      
full screen (at least in chrome):

    javascript:$('#comic').removeAttr('style'); $('.map').css('z-index',1).css('background','#fff');$('body').css('overflow','hidden');

daralthus 2 days ago 0 replies      
Reminds me of Scott McCloud's infinite canvas idea:
Impressive by the way!
Xcelerate 2 days ago 0 replies      
I just downloaded the image tiles and explored the world that way. Quickest way to make sure I saw everything!
goldins 2 days ago 0 replies      
I have made a very low-res polar coordinates version: http://dl.dropbox.com/u/543600/1110polar.png

I will make a larger version later tonight.

xSkeen 2 days ago 0 replies      
The very last image to the right, "I wonder where i'll float next?" is a reference to Randall's first xkcd comic; http://xkcd.com/1/
kunalb 2 days ago 0 replies      
My attempt at hammering the xkcd servers -- also colours missing tiles correctly (black/white depending on south/north): http://explog.in/xkcd.html

[edit: basically lays everything out in a single huge page so that you can scroll instead of dragging]

Shivetya 2 days ago 0 replies      
I was looking for where the spider was hiding.
ranman 2 days ago 2 replies      
my hacky way of killing Randall's server:

  curl --limit-rate 40K -O http://imgs.xkcd.com/clickdrag/\[0-100\]\{n,s\}\[0-100\]\{e,w\}.png

Then to remove all the 404s:

  find . -type f -size 345c -exec rm -f {} \;

Woo! No code.

LarryCurlyMoe 1 day ago 0 replies      
You guys do realize that new panels can be added to the world at any time (and existing ones can be modified). Who's to say the world is static?
irfn 2 days ago 0 replies      
Click and Drag without the distraction.
javascript:$('img[title="Click and drag."]').hide();$('img[title="Click and drag."]').parent().css('overflow','visible');
in the url bar
codingSloth 1 day ago 0 replies      
I made a little grid with all the tiles on it (they are smaller than the original ones). I hope it makes the navigation easier...
Each tile is clickable (it redirects to the original picture)


chj 2 days ago 0 replies      
Holy shit! I didn't expect it to be this big!
civild 2 days ago 0 replies      
Exploring this took me back to the days of playing the Dizzy series of games, wondering what was beyond the next screen.
atas 2 days ago 1 reply      
And I thought it was going to be a short one. Got to get back to work. By the way, I play this game with Google Maps every day.
samet 2 days ago 0 replies      
Randall just got crazy (with a good meaning).
bizzz 2 days ago 0 replies      
Ok, someone please glue all the tiles together! I can't wait to see all this magnificence!
RenierZA 2 days ago 0 replies      
I wonder if this is a world record for the biggest comic ever.

Does anybody know?

ekyo777 2 days ago 0 replies      
For some reason I want to load that as a map in worms armageddon
wesleyholl 2 days ago 0 replies      
vanhelsing_ 2 days ago 0 replies      
Someone make a large poster of this thing, quick!
brianbreslin 2 days ago 0 replies      
this is strangely poetic
arc_of_descent 2 days ago 0 replies      
This is just brilliant!
hackalyst 2 days ago 1 reply      
Kickstarter is Not a Store kickstarter.com
402 points by benackles  1 day ago   168 comments top 41
robomartin 23 hours ago 3 replies      
I welcome these changes. They might seem draconian at first, but I think it could do wonders to protect project supporters.

It could also serve to protect neophyte project originators who have no clue as to what it takes to get a hardware project from a rendering or a garage prototype to a real finished product.

There are a myriad of technologies available today to produce very high quality prototypes that look like the finished product. Forcing project originators to show an actual product rather than a rendering will simply force them to make the time and financial investment to get the project to a far deeper level of completion and really think it all thorough.

If someone will not take the time and spend the money to put together a prototype that is a real representation of what it is they are proposing I don't think they belong on Kickstarter.

I would imagine that it would still be OK to show renderings and animations so long as the actual physical product is shown as well. The reason I think this is important is that this can also show supporters important details that may not be evident or easy to demonstrate with actual products. For example, animations could show internal mechanism and how they work. 3D renderings could show ideas on variants or configurations for backers to discuss and provide feedback for.

I have a couple of projects that have been slated for Kickstarter for months. I've been too busy with work to really get to them. In both cases my approach has been to fully develop the items to the point that they are basically ready to manufacture. The Kickstarter push would simply serve to gage interest and pay for tooling and other NRE's that would make it possible to fabricate the items in reasonable quantities at a decent cost. Of course, I've been in product design and manufacturing for a long, long time so I tend to be very realistic about what it takes to get something done. I've seen projects go on Kickstarter that would not have a chance in hell to be completed at the requested funding level. Not a good thing.

Above all, what this indicates is that Kickstarter is watching and listening, which is excellent.

waterlesscloud 1 day ago  replies      

They needed to make some sort of move, but banning simulations and renderings (Really?) seems to be terrible overkill.

If anything, this move makes it much more a store. You can only put up products that exist. There's no funding of development.

Not sure this is a good solution on their part.

EDIT: Fully in support of the "Risks and Challenges" section. Makes it like an investment prospectus.

olalonde 1 day ago 2 replies      
When Ouya raised over a million dollars within 24 hours a few weeks ago, they specifically wrote: "In just 24 hours, 20,000 people bought an Ouya console"[0]. They should be more careful with their choice of words in the future if they really want to reflect that "Kickstarter is not a store".

[0] http://www.kickstarter.com/blog/ouyas-big-day

andrewljohnson 1 day ago 0 replies      
What a measured, interesting, and social response.

As programmers, we often try and fix things with code, but it's cool to see Kickstarter improve their product by thinking about what questions the creators should be asking. I also agree that hardware makers do themselves and other a disservice by showing space age renderings of their products.

majormajor 1 day ago 0 replies      
I think the move from product simulations/renderings to solely being able to show what the product can do now is a great change. I've been critical about some of the usages of Kickstarter in the past, but this addresses a big part of my concerns.

I do hope that it doesn't keep products that are in a rough state from being able to be successful, though if somethings really that complex that you need to raise a lot of money to have a marketable prototype, let alone bring it to market, I don't think Kickstarter donations are the way to fund it.

ghshephard 1 day ago 0 replies      
I find it fascinating how Kickstarter is starting to adopt some of the same cautions that we see in an S1/Prospectus, "“What are the risks and challenges this project faces, and what qualifies you to overcome them?”"

As a long time burner, it was interesting to me how year after year, the playa adopted many (but not all) of the rules, regulations, restrictions of the outside world. We had a DMV (Department of Mutan Vehicles), Building Regulations (for buildings over a certain height), developed clinics, and ambulance services - etc...

It will be interesting to see, over time, how kickstarter adopts many of the SEC mandated governance over new enterprises going to the market for funding.

Reading through all the regulations though - it feels like 90% (100%?) are in response to this:

I'm sure a LOT of people watched that video, and thought that the LIFX lightbulb exists (or almost exists) in it's current incarnation. Also, there are a lot of people supporting for $500 in the belief that they'll get 10 lightbulbs - I wonder how many of those backers don't realize their is a better than even chance that this project will come to nothing, and they'll get nothing but good feelings for their money?

jmilloy 11 hours ago 0 replies      
As others have said, it seems like KS is preferring projects which, already having functional prototypes, just need the capital to produce a commercially viable product in quantity. But, I think some projects need funding to even be able produce a prototype. To be able to show the mock-up is essential to describe the product potential backers.

I would like to see a separate (new) category for product&design projects at this stage. The projects would explicitly be looking for funding to create the prototype, with no promise to deliver a finished product. If a project is backed and delivers a working prototype, but now needs funding for the next step, they could return to Kickstarter for another round. Backers who want to fund product ideas could do so (likely with smaller pledges), and no one is tricked into a large backing thinking they will get a working product in the mail in three months.

Traditional startups get venture capital in rounds; why not crowd-sourced capital in rounds?

gojomo 1 day ago 1 reply      
I think "Product renderings are prohibited", and to a lesser extent "Product simulations are prohibited", run against the emphasized goal being "a new way for creators and audiences to work together to make things".

When something doesn't yet exist, you have to present speculative representations to communicate (or even rationally discuss!) the vision. That goes double for a wider audience, which may not be as accustomed to letting their imagination range over exotic possibilities.

Such mockups should be clearly labeled, and placed alongside current-best-prototype representations for comparison, and disclaimerized as with the new 'Risks and Challenges' requirement.

But before Kickstarter, more traditional investors and prepurchasers -- and indeed internal organization R&D and product-development processes -- would use and expect such representations for design communication. Why cripple the new model with this encumbrance?

vannevar 1 day ago 0 replies      
This was becoming a real issue for Kickstarter. Many of the recent high profile 'projects' were companies (particularly game developers/publishers and consumer products manufacturers) effectively taking pre-orders through Kickstarter and using those funds to develop the product. As the channel through which the orders were placed (and the party that that receives the money and takes a cut), I think a good legal argument could be made that Kickstarter is a store, and thus would have to comply with the UCC and other laws (including the various Deceptive Trade Practices acts across the country) applying to retail.
erohead 1 day ago 4 replies      
Wow. This is a major move. Pebble (my project) would not be possible now.
mistercow 1 day ago 0 replies      
That's a start, but I still think that allowing hardware projects to offer arbitrary, open-ended numbers of end-product rewards is a mistake. Suddenly being expected to produce 100 times as many units as you planned is not, as people so often say "a good problem to have". It's just "a problem".

Yes, the general tendency is for marginal cost to decrease as production quantity increases, but that does not mean that it's a smooth curve. Instead, the line is jagged, littered with points where large investments need to be made. For an open-ended product, you get investors, hire extra people, buy equipment, etc. You'll end up taking a short-term loss that will be earned back in the long term. For a close-ended project like Kickstarter allows, you'll have the short-term loss, but no long-term profit.

And that's if you have experience and connections to pull off manufacturing and courting investors. If you're hawking a project on Kickstarter, it's pretty likely that you have neither.

stefanobernardi 1 day ago 1 reply      
This is a very honorable move from Kickstarter, forcing themselves to follow their mission vs immediate revenues.

This is how every company should operate. And this will definitely improve their long-term shape and revenues.

fruchtose 1 day ago 1 reply      
Personally, I would prefer a hybrid approach--projects cannot show only simulations/rendering. If a project presents these things, it must also present the current state of the ideas being rendered.

You're developing a spacefaring action game? By all means, show me that you want to have planets, stars, and space pirates--but if all you have right now is a spaceship object floating in an environment without a skybox, I want to see that, too.

ck2 1 day ago 3 replies      
100% simple solution to this.

DO NOT ALLOW listings to offer the product described as a reward.

Will solve the problem entirely, guaranteed.

techtalsky 4 hours ago 0 replies      
The rule against showing a render seems just a little rough. In some cases I think a render of a product is important and it seems like really crippling a hardware project if they can't show the design of the product. I get why, but that seems like the toughest of the restrictions to me.
imrehg 1 day ago 1 reply      
Well, if people think it's a store, then it might be a store. Sign of a successful platform that it goes in directions that you have not expected. Though it is also a sign of failed communication.

The question is now whether you want to bring the project back onto the originally envisioned path, or figure out how to ride the waves of these unexpected changes?

MatthewPhillips 1 day ago 1 reply      
Smart move. AirBnB waited until scandal broke out and then tried to put out the fire. We were/are dangerously close to a major scandal happening on Kickstarter.
wissler 1 day ago 0 replies      
No simulations or renderings to show the vision that's being pursued? Beyond stupid. It's insane.

I'd speculate that it's probably a requirement driven by lawyers worried about failed projects conferring some kind of liability onto Kickstarter itself.

mstank 1 day ago 0 replies      
There's also an issue with the media talking about Kickstarter products like they already exist.

In the case of Lifx, article titles like "Australian re-invents the lightbulb" mislead the public and perpetuate the belief that people are purchasing actual products and not merely funding idea that may come into fruition.


FooBarWidget 14 hours ago 2 replies      
I still don't understand how Kickstarter is different from Pledgie, from which has been around for much longer. At first I thought that Kickstarter would hold the funds for the backers and return the funds if the project fails, but that appears not to be the case. How is Kickstarter anything more than a Donate button, a donation counter and a mailing list?
idanb 1 day ago 0 replies      
I see this as a very welcome addition to the public stance of Kickstarter with regards to physical products (which it's been relatively quiet about). One of the reasons we chose Kickstarter as a platform to get our product off the ground was the fact that it would allow us flexibility and freedom to get our prototypes to full scale manufacturing, which were already relatively mature in their stage of production (tooling already complete, near final hardware etc).

Lots of things can go wrong at every stage after you have a final production sample. You still need to get the sample certified by a number of governing bodies, set up QC and shipping, and in the case of overseas manufacturing deal with the freight/customs and finally fulfillment of the product.

I'm happy that Kickstarter is taking more of stance on the subject, as we've had to in many cases provide "returns" to people or deal with "customer service" style requests, which we've done in good faith but it really misses the point of launching a product on Kickstarter.

I think this stance will really help back up projects when they need to make an adjustment, or have to deal with something unexpected. Also, it should improve the quality of projects moving forward by making people more skeptical and aware of the time/cost-instability of the manufacturing process. We were lucky to hit a pretty happy medium with regards to initial volume, and unlike some of the blockbuster projects when we have to change things we don't end up on TechCrunch for it, only the Guardian :)

aorshan 1 day ago 0 replies      
Though I completely understand where kickstarter is coming from with their decision, I have a bit of a gripe with their choice to prevent projects from showing renderings and requiring actual photos.

Correct me if I'm wrong, but the last time I checked the purpose of kickstarter was to help people get their ideas off the ground. Some types of products, especially hardware, can cost a lot of money to produce at a prototype stage. Not everyone has the cash lying around to spend hundreds, if not thousands of dollars to build a functional prototype. So normally what that person would do is put together some renderings and a video and go to kickstarter to raise the funds to expand into prototypes and production. Now what are they to do?

Ultimately I think this decision by kickstarter gives a tremendous advantage to design shops with the budgets to build prototypes, while leaving the little guy behind.

tibbon 9 hours ago 0 replies      
I've been saying this for a while, and I'm glad they are working on clarification. Yes, this will lower some of the astronomical numbers that some projects are seeing- but I'm not sure if hitting 10mm is to anyone's benefit really.

It needs to be understood that there is risk associated with this, no guarantees, and that it isn't a straight up purchase transaction like going to the store or preordering an iPhone.

shuri 1 day ago 0 replies      
It takes a lot of character to look at a lot of money in the eye and say no thanks.
trhtrsh 10 hours ago 0 replies      
> Offering multiple quantities of a reward is prohibited.

The GoldieBlox are in violation of this bizarre rule.

Why not just say "The developer must declare their planned production run, and not accept excess backers"?

raldi 1 day ago 2 replies      
I don't really get the ban on multiple reward tiers for hardware. Anyone got an example of something that used this to abuse users in the past?
steve8918 1 day ago 1 reply      
This is a good idea, kudos to them for making this move to help alleviate a lot confusion on behalf of funders.

I think what they need to do is have milestones for their project that can get vetted by Kickstarter. For each milestone they hit, more funds get released to them. This will allow funders to get out if they keep missing their milestones, and the project looks like it's going downhill.

smoyer 1 day ago 1 reply      
For software products, it's pretty hard for them to tell the difference between a simulation/rendering and the real thing. If I show a finished UI, it will appear to be fully functional and polished, but there may not be any back-end at all. I often create a fake persistence layer to allow for faster development of the UI. How would they be able to tell the difference? And it's actually not violating the rules at all right?
lifeformed 1 day ago 0 replies      
Renderings seem useful in helping viewers visualize what the goal is. Maybe instead they should enforce that renders have to have an accompanying text disclaimer? Kind of like medicine commercials and their side effects.
mparlane 1 day ago 0 replies      
I find it funny how the Oculus Rift's front image is a rendering, and not because they can't do it. But because they want you to see the final design that they have created.
zokier 20 hours ago 0 replies      
I wonder why they disallowed selling vapor hardware but still allow equally vapor software? Of course I wouldn't be surprised if vapor software would bring significant portion of kickstarters income, so banning it would harm significantly their bottom line.
esalazar 16 hours ago 0 replies      
In my opinion, Kickstarter is just a futures market for Goods/Services. When they come out and say, "What are the risks and challenges this project faces, and what qualifies you to overcome them?", it just sounds like Futures are dangerous, risky, and you might loose your money.

I don't think you can call them a traditional store, but you can definitely call them a Futures Store.

fratis 1 day ago 0 replies      
This is a sensible list of new rules. This is a quintessential exercise in changing user expectations and behavior. This is great UX, especially in a platform-type environment in which the platform managers aren't always able to curate the content created by the platform users.
rickdale 23 hours ago 0 replies      
Not going to lie, I backed my first kickstarter project the other day with Boosted Boards. When I decided to back it my thought process was "Oh, get it in May, perfect timing for my brothers birthday"... now I understand, it might never come.
anigbrowl 1 day ago 0 replies      
The ban on mutliple rewards is interesting. While there have been no tears shed over ~$1000 going to finance the Makey Makey project, there's a mildly awkward silence every time we try to figure out what we're going to do with 30 of them. It's also true that cannibalizing a old keyboard would have delivered the same functionality...


ChuckMcM 1 day ago 0 replies      
Nicely done, hope it is enough to protect them from the lawyers.
weej 1 day ago 0 replies      
I for one would be more interested in general success rate. I'm not talking return on investment, but more so on how many projects actually come to fruition and deliver at any level.

This is outside the fraudulent activity. It's more out of my sheer, selfish interest in rate of success.

I could see such data publication helping and hurting Kickstarter. It could be inspiring and generate even more interest (aka revenue), but also expose the lack of completion and high failure rate turning off investors.

Karunamon 1 day ago 0 replies      
Really? No renders? So how are you supposed to communicate what you want to build?

Terrible move. Require renders and sims to be clearly labeled as such, but this? FFS.

shloime 9 hours ago 0 replies      
Kickstarter may not be a store, but http://outgrow.me/ is.
labizaboffle 22 hours ago 1 reply      
Two recent things come to mind, Ouya and the Tesla museum. Both offered items with purchase, but the Ouya items included the Ouya itself. That presents a problem that I didn't realize until now, which is that a store has to do a lot of things relating to paying taxes, etc., when being a store was not the intent of kickstarter, so... I get it. They are not a store.

However, with the Tesla thing and related projects, I think that this gets into a really grey area- and from past experience with helping with a large site that took donations- you have to subtract the items that have value from the donation, so they have to do this if anything is given away, or at least the recipient does if they are a charity/non-profit. Was the Tesla thing a non-profit?

And not allowing 3D renderings of hardware is a bad idea. For example, if you have a valid design for something and need the money to have it fabricated, then the sponsor should be able to see the design. Not being able to do so is lame. Sometimes the design is the hard part. That is a valuable asset. It should be rewarded with money to see it through. Why place someone with no design and someone with a design on equal footing. They aren't. It's not just about fairness, it is about being able to invest in something with a future. No design- no future. Good design- possible future.

melvinmt 21 hours ago 0 replies      
New idea for startup: Kickstarter for New Hardware and Product Design. "Now WITH renders."
Android can be beautiful androidniceties.tumblr.com
373 points by mephju  4 days ago   157 comments top 41
cs702 4 days ago 3 replies      
Android is no longer an ugly-duckling platform trying to catch up with iOS, but a beautiful platform that truly rivals iOS in all important ways -- and now surpasses it in terms of market share. However, mobile app developers have only recently begun to transition from "we need an app for Android too, quick!" to "we need great apps for both Android and iOS," so it will take a little while for all those ugly, hastily-put-together Android apps to become a thing of the past.

UPDATE: koko775 raises a good point: the large installed base of pre-ICS Android versions may also be a factor. See http://news.ycombinator.com/item?id=4533819

untog 4 days ago 1 reply      
Since ICS, Android is beautiful. Well, the OS core is, anyway. Widget makers and the like still don't seem to have got the design memo, but I suspect that's because design talents are so focused on iOS.

We just need the app makers to catch up. Foursquare, for instance, has been redesigned and looks great. However, their widgets haven't been touched and look awful by comparison. Spotify has done a far better job of updating everything at once.

Osiris 4 days ago 6 replies      
I'm bit surprised by all the comments about "Consistency". All of us use the web every single day and every single website looks completely different, all with their own styles, layouts, color schemes, etc.

I would think that web designers, and designers in general, would be happy with the flexibility to create their own thing rather than having something that pretty much looks like everything else.

The web used to have some consistencies, like <A> tags rendering as blue with an underline and always loaded a new page, but that's long since gone. Nowadays designers are free to make links look and work how they want.

I, personally, don't see the problem with lack of visual design consistency. I prefer to not have every app on my phone look the same.

dpark 4 days ago 4 replies      
These seem really inconsistent to me. Feedly looks almost like a metro (sorry, "Windows 8-style") app. doubleTwist looks like an iOS app, as do Square Card Reader and Tumblr. Reddit Sync Pro seems to fit in with Google+, so I assume that's what modern Android apps are supposed to look like.

None of these general aesthetics are bad, but the inconsistency seems to be an issue. (Actually, a few of them do look bad to me, like Rdio, with the very dated "app home screen" that looks like it was copied from the old Facebook iOS app.)

koffiezet 4 days ago 2 replies      
The problem with the Android UI isn't (only) the lack of beauty, it's the lack of consistency, style and attention to detail. Things like included/used fonts (although the default iOS notes app also fails horribly here), placement of back buttons. And that's exactly one of the things that disturb me in the Android UI, things like the 'back' functionality, which is utterly confusing. In iOS the 'back' button is always on the same location AND tells you where you're going back to. Android has a dedicated button, and it surprised me more than enough where it was taking me back to.

So yes, Android could use a better/cleaner visual style, but that's not it's biggest problem. Also, if a new visual style would be adopted, it should be universal. Right now it's a mess of apps trying to do their own thing because the default style is ugly, and these examples demonstrate that perfectly... Android 4 has shown some improvement but I still don't like it.

There are also quite a few iOS apps that don't necessarily respect the general look&feel of iOS, but some of them succeed in having a distinct style without clashing badly with the rest of the interface. Hell, Google showed that it is capable of doing just this, just look at the Google+ and the new YouTube app, they are pretty neat.

I think Android UI designers should use iPhones and Windows 7/8 phones as their daily device, or switch at least once every week. Then they'd see what's wrong, what irritates them about every OS and find a way around some of the moronic decisions were made in some of these OS's, and all are guilty of this to some extend. Android at this moment however gets the crown in usability WTF's.

Disclaimer: I own an iPhone and iPad, but mainly develop for Android/BB/WinMobile.

micheljansen 4 days ago 4 replies      
Some of these are really nice. I'm curious how many of these are Android-specific though. Path looks pretty similar on iOS and so do FourSquare, Flipboard etc. Which of these are examples of good mobile design that holds itself on various platforms (iOS, Android etc.) and which are unique to Android?
bstar77 4 days ago 1 reply      
I agree that Android can look gorgeous, but that can only go so far. Android's problem is consistency. I've used every alternate android build I could find, and the custom (and default) themes and UI menu system lacked consistency. My favorite was MiUi and even that had terrible consistency issues.

iOS, on the other hand, is supremely superior in this department. The cohesiveness of the experience is second to none. I value that over custom configurations any day. My android phones have been wonderful hack-fests, but at the end of the day, the one thing I can't hack into them is a consistent experience.

lallouz 4 days ago 0 replies      
Of course Android can be beautiful if you showcase a few screen shots created by some very talented designers. After spending the last 4 years as an Android developer, its clear that the platform falls short in two places at the intersection of UX and UI. I've worked with some of the best designers and they always produced beautiful assets and screens, but we were always left making important UX decisions that caused inconsistency with other apps. The "beauty" that many users come to appreciate with iOS and Metro, is the cross app consistency, experience and cohesion with the operating system itself. Even apps produced by Google have a tremendously wide gap in consistency. The other major problem is development decisions made (and allowed by the platform) by software engineers. More than a few of the apps in this list do unthinkable things like processing data on the UI thread or having terrible offline experiences. This can turn a beautifully designed app into a terrible app very quickly.

It's important to distinguish "looks pretty" and "beautiful".

darkstalker 4 days ago 1 reply      
It's already known that since ICS Android is prettier and more functional than iOS.
zobzu 4 days ago 3 replies      
is it bad if i find it inconsistent, annoying to use, etc?

I mean, it is pretty (well, arguably, most of them are), but, the buttons are all over the place and everyone seems to have it's own UI plastered on top of more or less "android ui compliant" stuff.

recoiledsnake 4 days ago 0 replies      
Looks somewhat inspired by Metro... not that that's a bad thing. ICS made a huge stride in the Android UI, and Google was even talking up the new font during the announcement.



drivebyacct2 4 days ago 0 replies      
Oh for the love of God, we still need convincing of this? Anyone with an ICS/JB phone knows that Android is perfectly capable of looking good. My "least-good" looking application that I use on a regular basis is the Flashlight app, and even then, it's just a big round glossy button.
seunghomattyang 4 days ago 2 replies      
Reminds me of what Chief Creative Officer at doubleTwist said about designing for Android:

>> As it stands, If you design a great app for Android and people say 'hey, that looks like an Android app', that means you've failed.[1]

[1] https://twitter.com/sdw/status/187245772205600769

angry-hacker 4 days ago 2 replies      
I like the screenshots but I don't understand the navigation of the page and why would you hijack the default scrollbar of your browser?

I'm surprised that so apps look WP metro style

brandoncapecci 3 days ago 0 replies      
I don't think anyone has ever proposed that Android couldn't be beautiful but rather great design comes secondary to iOS. As far as innovative products go, I'd argue that this is still very much the case.

Flipboard set a standard for beautiful news applications. Path reimagined what social could be on mobile and made numerous UI innovations. Instagram took a novel concept and made photosharing exciting to a new audience. Square showed off the increasing real business viability by making payments accessible to anyone with a phone. All these apps weren't available on Android for some time. Sure they are now but this far more a matter of increasing market share than a change of opinions and it continues to hold true as we see well-designed apps like Paper start iOS only. Android is by no means the epicenter of creativity on mobile and though beautiful, the ports largely still have substandard experiences than their iOS counterparts.

In my opinion this is a result of equal parts hardware and audience. Android may be on more devices as a whole but many of the devices are not even remotely competitive with top-tier smartphones. They are sold with the intention of being budget friendly and thus it becomes a hassle to acquire the additional devices, adapt interfaces to the numerous screen sizes on them, and adjust for performance limitations. I also believe that the design of the iPhone naturally attracts great designers. Android has a reputation of throwing good hardware into poorly designed phones with cheap materials and inferior build quality - the future is just not as cool when you need to interact with plastic buttons. Lastly, I believe the iPhone audience is naturally more in tune to seek out great designed products. The openness that appeals to Android customers creates an expectation that applications should be free. There is a decreased interest in browsing the marketplace and many of the most popular apps are just free copycats of popular iPhone applications.

w1ntermute 4 days ago 1 reply      
For anyone looking for a fully-featured notes app, Catch, mentioned in TFA, is the way to go. It does sync, has a web interface, and probably a 100 other features I haven't used.
ikhare 4 days ago 0 replies      
Very happy to see the Bump 3.0 on there (I worked on it). ICS and all of it's native apps were a great statement by Google to show how they'd like their apps to look and feel. We followed their queue and used the action bar and view pager to great success. Also having a great visual designer doesn't hurt either.
dbreunig 4 days ago 1 reply      
It's comical/ironic how difficult that site is too browse.
jtreminio 4 days ago 1 reply      
Some more themes are on Reddit:


corporalagumbo 4 days ago 0 replies      
I'm surprised to see so many comments claiming these apps look like Metro. Frankly the level of design on WP is much lower - third-party apps are extremely low quality and all of MS's apps are much simpler and lack the richer textures and details of these apps. Judged on these screenshots, Android looks much nicer than WP, and seems to strike the right balance between clarity and detail.
Dove 4 days ago 0 replies      
Humbling. I though I was doing really well making Android apps, but these examples remind me how far there is to go.
rprasad 4 days ago 5 replies      
This site contains a stack overflow bug which crashes Firefox and IE9 on Windows.


tomp 4 days ago 0 replies      
Reading this list, I just realized how useless all these apps feel. With the exception of Google Maps, when you really need it.
tvon 4 days ago 1 reply      
There are some very nice looking apps in there.

Kind of meta but IMO the screenshots on that site are too big and should be scaled down a bit.

enraged_camel 4 days ago 0 replies      
It's good to see that Android is improving in this area. And I say that as an Apple "fanboi". That said, it is unfortunate that the ecosystem still suffers from heavy fragmentation, so only a small portion of users will be seeing the benefits mentioned in the article.
anuraj 3 days ago 0 replies      
With ICS, android introduced a new design language and look and feel and usability have improved. But nevertheless, we have always found the default UI recommendations need to be overridden at least 10-20% of times to get a usable app. And yes, ICS still looks like a cross of iOS and Windows Phone 7.
barbs 4 days ago 0 replies      
Android can also be really ugly http://fuglyandroid.tumblr.com/ :P
wahsd 4 days ago 0 replies      
Slightly off topic, but anyone else notice that that site/page seems to somehow choke on something. It spun up my CPU over something, I think resizing the images or something. Don't have the time to look or care.
jemeshsu 4 days ago 0 replies      
Are there other similar sites that showcase mobile app design? Best is one that covers Android, iOS and Metro apps.
ChrisArchitect 4 days ago 1 reply      
another similar Android app design blog http://www.holoeverywhere.com/
creativityhurts 4 days ago 1 reply      
It can be beautiful on the large-screen top models like Nexus S, S2, S3 and so on that are owned by geeks, not on the LG Optimus-ish and other low-quality phones that regular people buy. On my Samsung Galaxy S Mini not so much, for example I couldn't install Path because the screen is too small.
alpotryvayev 3 days ago 0 replies      
It steadily becomes more user-friendly, but there will always be a lot of problems with different devices, and mostly with their screen size
northisup 4 days ago 1 reply      
This is a list of apps that in no way use the android default widgets. So yes, it can be beautiful when you do all the hard work yourself.

(and yes, these apps look fantastic)

spydum 4 days ago 0 replies      
The great irony is that page runs terrible on my galaxy2 tablet..
marban 4 days ago 0 replies      
...but only if you skip regular UI conventions
se85 4 days ago 0 replies      
Beautiful != Consistency
squarecat 4 days ago 1 reply      
Beautiful != usable
jamesjguthrie 4 days ago 0 replies      
I really like the Google+ app, it's lovely.
BaconJuice 3 days ago 0 replies      
Great site, thank you.
miralize 4 days ago 0 replies      
I just dont see. Beatuiful is extremely subjective, so the title of this is inherently incorrect. And beautiful they may be, but they are not usable, consistent, or friendly. And the ones that are close to being good, have niggling issues like spacing between items, which drives me nuts
epo 4 days ago 0 replies      
"Android can be beautiful" eh? Saying it doesn't make it so. As an aspiration it is so far from current reality as to be simply delusional.
Pdf.js: PDF Reader in JavaScript github.com
362 points by pykello  7 days ago   89 comments top 28
jowiar 7 days ago 7 replies      
1) From a technical perspective, this is damn cool - exceedingly well done. Color me very impressed.

2) I hope I never actually see anyone using this on a website, attempting to make things "easier." Between Scribd and Slideshare, and Adobe trying to force its hideous crash-prone plugins into my browser, there are already enough people making a mess out of what is one of the more well-thought-out aspects of OS X. Give me a link to a PDF, which Preview.app handles in wonderful fashion any day.

3) It would make a sweet browser plugin on browser-in-a-box platforms and other platforms that don't have a nice native implementation (which upon further reading seems to be the goal).

jpallen 7 days ago 1 reply      
I'm really excited for this for http://www.sharelatex.com and other similar sites that are actually generating a PDF for you. With native PDF viewers there is no way to interact with the viewer via javascript and even just having the viewer stay on the same page when your reload a document (with minor changes) is impossible. Pdf.js means that we'll be able to do this easily, as well as other cool things like letting letting the user sync between the PDF and source.
ianb 7 days ago 3 replies      
I use this a lot, and it really does work. It renders everything, and renders it well. The one thing that doesn't work is maps " just too many vectors, and Javascript/Canvas/etc just can't keep up. Otherwise I'm very happy and don't feel nearly as much resentment towards PDFs as I used to.
Mizza 7 days ago 0 replies      
XSS injections on these are gonna be fun..
winter_blue 7 days ago 0 replies      
I used to use PDF.js for a while (on Linux), until I switched to KParts because it was having difficulty rendering certain kinds of PDF documents. KParts uses the same underlying engine that powers Okular (KDE's default PDF reader.) It renders everything properly and is much faster than PDF.js. It reminded me of Foxit on Windows. KParts might be only available on Linux though...
cpeterso 7 days ago 0 replies      
Firefox already bundles the pdf.js reader. See https://bugzil.la/714712.
thebigshane 7 days ago 1 reply      
Two questions:

1) In Firefox 15, the demo page adds two new options to my right click menu: Rotate clockwise and Rotate Counter-clockwise. Is Firefox recognizing pdf.js (since it appears that they are related) or pdf.js adding menu options? I didn't know JS could do that.

2) Isn't Javascript an embeddable language inside PDFs? I'm pretty sure I read that javascript is used, not necessarily for animations but for run-time dynamic layouts. If that's true, is pdf.js "eval"-ing that javascript?

wheaties 7 days ago 3 replies      
Now if someone would just do this for .docx, .xlsx, and such I'd be set.
bpatrianakos 6 days ago 1 reply      
I came across this a few months ago while trying to implement a solution for turning HTML into PDFs server side. This is definitely cool and useful but it's usefulness is limited for now as native PDF readers on the desktop are preferable. Even on iOS the built in reader is nicely done. Chrome on Windows and Mac always opens PDFs in a tab and handles it well I think. That said, this can definitely be of use in Chromebook type situations. I'm sure it'll end up in Firefox OS too which I have hi expectations for. The awesome thing about Firefox OS is that it's all JavaScript and good old fashioned web technologies under the hood so this will fit right in.

So alas, I'm still searching for an easy way to convert HTML to PDF server or client side. I haven't looked at the code yet but I do wonder if one could get that functionality out of this if they wrestled with it enough. (I know there are other ways to turn HTML to PDF but a client or server side script to do so really is the best solution for my situation).

Roritharr 7 days ago 3 replies      
i've stumbled upon PDF.js a while ago because i was looking for js tool that allows me to extract data from pdfs... sadly i'm still looking for a good lib to do just that.
mwexler 7 days ago 0 replies      
I presume that copy to clipboard could be added to this as well, yes? Cool project.
dutchbrit 7 days ago 0 replies      
As a big user of PDF.js, I have to say it's great for basic PDF documents. However, complex vectors don't render nicely with this
senko 7 days ago 0 replies      
I have first seen this a year ago (when it was publicly announced, IIRC). It was a cute tech demo but easily broken, and quite slow.

This ... is mind blowing.

uams 7 days ago 1 reply      
This is super cool.

While I can't imagine myself using it anytime soon, it's clear that web applications are improving at a far faster rate then native applications and, with t large enough, the first derivative means that web will eclipse native.

This seems like an academic exercise at the moment; it's to prove that you can replicate a native experience only.

However, it seems that this could be vastly improved by playing to the strengths of the internet. The only online apps that have beat native ones so far have been because of cloud storage and collaboration. First, use filepicker.io or something so this can open my online files. Second, bake some collaboration into it.

Aissen 7 days ago 0 replies      
It's in Firefox since version Firefox 14, but disabled by default. Activable with "preview in Firefox" in options/filetypes/pdf.
andrewla 7 days ago 0 replies      
Just as interesting, in my mind, is the inverse library -- jspdf [1] lets you create pdfs in javascript. For automatic document generation, I find I can quickly whip something up in jsbin or jsfiddle that will give me a pdf I can download and do whatever I want with.

[1] http://jspdf.com/

chj 7 days ago 1 reply      
This is amazing, but sadly slow.
davedx 7 days ago 0 replies      
The demo looks really impressive, well done. Adding this to my toolbox! :)
klr 7 days ago 2 replies      
I have this error with Firefox 9.0.1:

currentPage is undefined http://mozilla.github.com/pdf.js/web/viewer.js Line 285

famoreira 7 days ago 1 reply      
This is pretty cool! Anyone knows if there is support for PDF annotations?
tete 7 days ago 0 replies      
Works nicely since it is Firefox's default viewer. No more need to install a one, yay!
jrl 7 days ago 0 replies      
This is great, I love it. I can read PDF files without leaving the browser, in any browser. I find it slightly distracting to switch to a third-party application.
jjmanton 7 days ago 0 replies      
from someone who has worked a lot with PDF, excellent work.
gbraad 6 days ago 0 replies      
Next up, a good ePub reader for use in firefox and firefoxos. Breaking free of the only two rendering engines in use...
3ds 7 days ago 0 replies      
On Firefox OS this will be the default PDF viewer.
leberwurstsaft 7 days ago 1 reply      
On an iOS device with retina display it's awfully blurry, probably just not rendering to a big enough canvas.
antonpug 7 days ago 0 replies      
Sweet. Going to keep this in mind for when my site needs a pdf viewer. Awesome tool
dude8 6 days ago 0 replies      
Good Job!!
The Lost Chapter aarongreenspan.com
358 points by jond3k  2 days ago   236 comments top 37
grellas 2 days ago  replies      
Institutional investors made the mistake - again, and again, and again - of validating Mark's duplicitousness by pouring literally billions of dollars into his company, and then billions more into startups seeking to emulate it. Some of their investments created out of thin air industries that contribute absolutely nothing to, and in many cases even detract from, society. . . . Most mind-boggling of all, it's been clear for a long time that Mark's "social" business model doesn't work anyway: venture capital returns are down, and not just a little bit. Meanwhile, the opportunity cost to society is enormous: with engineers and capital allocated to virtual-sheep-throwing, worthless advertising and sharing ad nasuem, almost a decade's worth of real innovations got the short end of the stick, including but not limited to mine.

There needs to be a label placed on the idea of feeling the need to bow to the wishes of critics who try to limit the idea of valid entrepreneurship to activities deemed "beneficial to society." I propose Founder's Guilt Complex.

Why on earth - when life is so big and beautiful and complex - should I feel guilty if I make money from an activity that does nothing more than give people a diversion from life's burdens and problems? College football may be a joke to pointy-head types but then reading Latin (my own peculiar idea of fun) is equally a joke to the cheering fans who join in inter-collegiate rivalries. Likewise for playing video games or hiking in the woods or listening to rock-and-roll or producing reality-TV shows or most any other activity you can name whose main goal is relaxation, entertainment, escape from life's burdens, or just plain self-indulgence. And social networking is no exception. I may not do much on Facebook (I don't) but so what? Others can and do like to share things with people of varying degrees of relationship to them and more power to them for liking to do this. It is their choice. It is a free country. It is not for me to be a scold who upbraids them for doing so. Nor should I be crabbed or pinched about what founders choose to do to create and market products and services designed to satisfy such proclivities or to make money from them.

Yes, I can set about in life to conquer diseases or to abolish poverty or to alleviate people's suffering and all such things are ennobling. I can do such things via a profit-making venture or I can make my money on other things and then use it to advance higher goals through giving. Or I can devote time and energy to helping others in my personal life. All of that is great but it hardly defines the boundaries of worthwhile human activity. Life has enough problems without having someone of a judgmental spirit continually taking us to task for wanting to have some fun as well or for trying to promote fun things for others. In a free society, there is room for fun things as well and for those who see it as worthwhile to take risk in building companies that seek to market less-than-weighty things to the public.

Life certainly can be perverse. In 17th century England, as modern western society was taking shape, you had, on the one side, royalists who despised political freedom, who valued rule by a church hierarchy, and yet who were much given to licentious habits in their lifestyles while, on the other, you had those who agitated for political freedom, who fought oppressive forms of centralized rule, who ultimately broke away to form what became America, and yet who in their personal lives bore the grim face of the puritan that sought at every turn to chain, quarter, and shame everyone all about who thought it might be fun to dance or to have a little fun in life. It seems that in our modern society we have ported over the spirit of the puritan in castigating others even as we have won the freedoms that allow us under law to enjoy life, liberty, and the pursuit of happiness. Well, if the pursuit of happiness was deemed a worthy goal of a society's founding documents, far be it from me to stand grim-faced telling others that they should feel guilty in not conforming to my narrow view of acceptable life activities - and that includes how I choose to make my living or start my business.

I don't think this is a mere technical issue either. I believe that no guilt or stigma should attach to ventures doing legal things just because they don't set out to solve World Problems. The poor have always been with us. So too have wars, rapes, and murders. Ditto for disease and death. I am the first to say "bravo" to those who do not sit resigned to accept all these destructive elements in life but who instead spur themselves to do something to help make things better not just for themselves but for the broader society too. That said, such activities cannot be the only things that define our goals in life, nor should they be. There is value in having enjoyment and fun in life and this is a transcending value that betters society. In the entrepreneurial world, there is no room for a spirit of self-righteousness. Therefore, I say away with Founder's Guilt Complex. If you want to do a venture, do it honestly and with integrity, drive, boldness, and energy. Just don't let others tell you that you should feel guilty about offending their scruples. Enjoy and make it work without guilt. You can deal with Weighty Issues too if you are so led. Just don't listen to those who say that what you are doing is not worthwhile unless it is narrowly confined to them.

So if the VC industry chose to pour all kinds of money into creating something called social networking, and if all kinds of talented engineers have flocked to that industry in pursuit of money or other personal goals, that is by definition a great benefit to society because it has given many, many people the chance to do things that were scarcely thought possible just a decade ago - and to derive simple pleasures from the diversions or other benefits afforded to them through such networking. Whatever the flaws associated with individual people or companies in such an industry, there is nothing whatever wrong with those who devoted their money and their efforts to making all this possible.

mycroftiv 2 days ago 3 replies      
The accumulated evidence of Zuckerberg's poor character was already overwhelming. For me, all it took was the infamous "dumb fucks" quote to make me decide to never use Facebook. That alone disqualifies someone to be a responsible custodian of my privacy. This article's evidence isn't as significant as other established facts like Zuckerberg's invasion of other people's email accounts, but it is consistent with everything else we know: in one of the modern world's great ironies, a person with no respect for his fellow human beings is the de facto gatekeeper of "friendship" on the net.
mattmaroon 2 days ago 4 replies      
"Perhaps the lesson here is that competing with and using your 'friends' in serial fashion until you totally and completely ravage each relationship is key to achieving financial success"but then it's certainly no way to define friendship."

That's certainly not the lesson. In fact what's always made me believe these sort of attacks against Zuckerberg's character is the fact that you don't see this happen with really any of the other startups that got big. Nobody is accusing Larry and Sergey of these sorts of shenanigans.

I'd say if anything, being a moral person is more blessing than curse when it comes to amassing wealth. It's obviously not a requirement though.

kevinalexbrown 2 days ago 2 replies      
I'm not going to publicly speculate on either party's moral character. But I did skim the transcripts, and I noticed one curious fact:

Zuckerberg starts and ends most of the conversations.

To clarify: I'm not sure precisely why I find it interesting, it was just one of those phenomena that raised an eyebrow, and passed my "don't publicly engage in debates about people's character whom I haven't personally met"-test. (To be fair I do make practical judgments based on moral reputation when deciding whether or not to enter relationships with others.)

gojomo 2 days ago 1 reply      
"Stuck in a moment."

And once again, in Greenspan's own transcripts, Zuckerberg comes off better -- more focused, more observant, more strategic, seeing opportunities rather than obsessing on risks, and even more generous with offers of collaboration -- than Greenspan himself.

dbul 2 days ago 3 replies      
So it happened that in my junior year of college, I came across the web site of one of the many finals clubs on campus, the Fly Club.

It's "FINE-UHL clubs" not "FINE-UHLZ clubs."

And he shockingly did not understand why information privacy might be a controversial issue.

And then

He had been searching the houseSYSTEM Facebook for the twins' profiles

So much for privacy.

Aside from the Facebook, the sites had overlapping features for course schedulers, photo albums, message boards, digital posters for student groups, and eventually exchanges for buying and selling on campus and mapping your network of friends.

Irrelevant. People only used Thefacebook for obvious and simple things: connecting with people they knew, poking, messaging, and photos. No one used mapping your network of friends (which sucked, incidentally, and also was faily most of the time) and no one even used the course scheduler. To state the obvious, facebook was not successful for its features, it was successful because how it was executed!

This was claimed to have been written for historical significance, but I know that every time an article is written by this author and about this subject dozens of people are thinking the same thing: move on. Create a successful company first, then retire and write about this topic. I'd love to see blog posts regarding Think Computer's technology. As it stands, this blog post gained a lot of attention but there isn't even a a sidebar with "Hi, I'm Aaron Greenspan and I'm the CEO of Think Computer. We have this product, click here to learn more." It's a marketing failure to not capitalize on such an opportunity.

dasil003 2 days ago 3 replies      
People get screwed over all the time. Getting screwed over by Zuckerberg, well, that's an elite club, but time to move on with your life. If you keep it only as a good story for the grand kids maybe it won't eat up the rest of your potential.
jamesaguilar 2 days ago 3 replies      
I don't understand why this person thinks Mark owed him all the information he complains about not being given. Am I obliged to inform my competitors of my intentions at every turn? Am I obliged to tell them when I change my mind about my plans? Am I indeed obliged not to deceive them? How do we know that Mark even viewed this guy as a friend, rather than perhaps as a friendly acquaintance? I can say for sure that I had many more and longer conversations on AIM with my real friends.

Maybe this guy has a reasonable beef, but it's far from clear to me.

tptacek 2 days ago 4 replies      
Logline: Zuckerberg mistreats Aaron Greenspan, is therefore greatest con of all time.
jcfrei 2 days ago 0 replies      
Aaron is (understandably) still butthurt from failing to make his houseSYSTEM successful. And Mark clearly was not only deceiving him but also downright stealing his work. Ultimately though that lack of character doesn't really matter - Mark was obviously more driven and had a clearer vision. I think the only lesson we can learn here is that dedication always wins over talent. And besides: Stealing and building a students directory across universities is one thing, creating a profitable business and amassing 900 Million users is a completely different story (and a task to which zuckerberg had a comparatively small contribution).
pbreit 2 days ago 0 replies      
As smart as Greenspan is he has no clue whatsoever what it takes to create a widely used service. He is constantly stuck on legal matters and splitting hairs that no one else cares about. He would be so much better off spending his considerable intellect and productivity on more valuable activities.
anon808 2 days ago 1 reply      
A very large chunk of his articles are negative

Not saying they aren't all true, I'm sure they are.

Why focus on the negativity? Recognize it and move beyond.

nancyhua 2 days ago 0 replies      
I read the transcripts, all very fascinating. Aaron's focus is on building stuff whereas Mark's is human interaction- Aaron focuses on products and consulting whereas Mark was already thinking big picture about social. Aaron seems more ambitious than almost anyone and Mark seems 10x even more ambitious than that.

Even if Aaron is the superior engineer, Mark is the superior psychologist. Vision and navigation of systems constructed by humans turns out to be more important than building a lot of stuff no matter how cool or new it is.

Also seems like mark argues there aren't any ideas to steal and admits facebook's been done before- just this time he's going to execute it better.

formeraapl 2 days ago 2 replies      
It's damn hard to pull emotion out when writing about one's life story, but Greenspan's writing style so distracts from the meat of his story that it's frustrating.

For instance:

"both so-called Facebook veterans (a phrase that actual veterans might find laughable)"


"It was an expense I simply could not afford all over again (unlike the Winklevoss twins, my father did not have millions of dollars of disposable income)"


"[Mark] didn't understand how to speak like a mature person his age."

Bits like those just scream "I'm a vicitim" and come off as whiny.

If Greenspan laid out the timeline and the documentation sans his editorializing it would be more powerful.

Carry these same points through any follow-up interviews, testimony, etc and I sense that Greenspan would be much happier with his outcome.

abalone 1 day ago 0 replies      
This poor soul has been grinding this axe for years. He's simply blaming others for his own failures. The prose is magnified by his clearly high intellect but it's easy to see through it. You need only take a look at the mess that was housesystem (his attempt at a campus social network among other things) to get an idea of why it didn't take off like facebook. Or if that's not enough, how about his payments startup facecash. No evil Zuckerberg character to blame there.. It was just a very poorly designed and executed project. Facebook won because it was better and Mark was right not to hire this guy. The sad thing is he (Greenspan) is clearly hyper intelligent, and if he'd only focus that intellect on figuring out where his work could improve instead of laying his problems at his more successful classmate's feet...
swordsmith 2 days ago 2 replies      
I've been reading Robert Greene's 48 Laws of Power recently, and throughout this essay, I can't help but think just how all the "moves" Zuckerburg were accused (and infamous) of were exemplary of a number of these laws. Not trying to pass judgement on Zuckerburg's virtues or lack thereof (it's best to accept the inherent unfairness in life on the road to power), but he is a master of power plays:

Law 3: Never put too much trust in friends, learn how to use enemies.
If only Zuck's "friends" knew about the first part of the law. Zuck was, however, a master in exploiting and gaining information from his "enemies". Further, he used what his competitions to frame what his product should be.

Law 4: Conceal your intentions.
"Keep people off-balance and in the dark by never revealing the purpose behind your actions" -- apparent in both the Winklevoss and Greenspan's stories. Zuck misled and deceived until the right time.

Law 5: Always say less than necessary...classic Zuck, "There was a need for facebook, so I made it"

Law 6: Court attention at all cost.
His fight to receive coverage in the Crimson ensuring the early dominance of thefacebook.

Law 7: Get others to do the work for you, but always take the credit.
If any of the stories about facebook is true, then Zuck's a textbook example of observing this law. According to Greene: using other people's work "not only will [...] save you valuable time and energy, it will give you a godlike aura of efficiency and speed". Clearly it has worked to achieve his "genius" aura.

Law 9: Win through your actions, never through argument.
He never let the lawsuits detract him away from the work too much. Now that facebook is too big, what actually happened really doesn't matter anymore.

Law 11: Learn to keep people dependent on you.
Facebook is too big now...G_G

Law 12: Use selective honesty and generosity to disarm your victim.
The part about facebook's frequent change and backtracks of privacy must has something to do with this.

Law 13: When asking for help, appeal to people's self-interest, never to their mercy or gratitude.
Zuckerburg appealed to Greenspan's desire to help entrepreneurs when asking for advice. Also, his claim that Greenspan was one of those on his level can be seen more of a classic ego-stroking rather than admission of admiration.

Law 14: Pose as a friend, work as a spy.
"Knowing about your rival is critical. Play the spy yourself to gather valuable information that will keep you a step ahead. [...] There is no occasion that is not an opportunity for artful spying".
Yeah, Zuck's a master at this.

Law 15: Crush your enemey totally.

So out of the first 18 laws, the rise of facebook and Zuckerburg have observed 11, textbook style. His amoral approach to power and life is definitely key to his success.

tharris0101 2 days ago 3 replies      
Here is what I don't get about this whole thing:
Friendster - 2002
Myspace - 2003
LinkedIn - 2003

Not to mention the dozens of other social media clones around that time (I remember being members of countless social media sites in those days)

Its not like anyone at Harvard stumbled upon an amazing new idea that was going to change the game. They were building what they hoped would be better versions of things already out there. Mark registered thefacebook.com because "Face Book" is a very common phrase/object.

For better or worse, Zuckerberg won the social networking race. Congrats to him, everyone else at Harvard at that time trying to stake a claim needs to just get on with their lives.

brooktree 2 days ago 2 replies      
Regardless of Greenspan's own character or his particular situation, he gives us a peek at the facts, which others are so quick to ignore.

I think there will be poetic justice in this story. Because the web is much bigger than Zuckerberg, or Facebook or even Google. The world is still getting online. It's early yet.
But what Zuckerberg has done, how he has carried himself in the presence of enormous luck, he cannot erase. He will live with this reputation as a con his entire life. Building a website, millions of people signing up, enormous hype, making millions from display ads might seem impressive today. It won't remain that way in years to come. We're just getting started. Technology will be taken for granted. There will be more attention to the things Zuckerberg carelessly disregarded.

"Dumb fucks" indeed.

Thank you Mr. Greenspan for telling your side of the story.

at-fates-hands 2 days ago 0 replies      
To me, it's like Aaron lost the game with Zuckerberg because Zucks wasn't fighting fair and Aaron expected him to. The expectations were clearly different on each side. Zucks wanted to win the game and take all the marbles any way he could, and didn't care at the who's expense it came, including his friends. I think Aaron expected more fairness and is hurt, but not surprised Zuckerberg hasn't changed.
mratzloff 2 days ago 0 replies      
I fully believe that Zuckerberg is every bit the scumbag his former friends assert. But bitter, much? This is a diatribe more than an essay.
Smudge 2 days ago 0 replies      
> "...and the directors and officers of any person that controls the applicant are of good character and sound financial standing." Here, the "good character" requirement would clearly preclude Mark, whose character has now been called into question more times than most of us can count.

I'm not aware of a common definition for "good character," but merely having your character "called into question," especially as a high-profile CEO (and celebrity, at that), should not be the sole grounds for being denied a license to transact money. I'm not saying there couldn't have been more to it in the case of Facebook/Zuckerberg, but in general, public defamation should not be, in itself, enough to prevent someone from building a legal business.

2pasc 2 days ago 0 replies      
Agree with all of you who say it is all about execution and timing. Zuckerberg had the right vision for what he wanted of Facebook though: a casual place to procrastinate. That is something that nobody else saw as clearly as him...and that's why his product won.
theorique 2 days ago 0 replies      
This article reads as being full of blame.
alid 2 days ago 0 replies      
Wowzers, why are people so keen to be negative? Facebook are doing awesome in their mission to make the world more open and connected. And regardless of fluctuations, Facebook's value still sits around, what, $48 billion? This is far too personal - Mark was 19 and in a private chat with a friend (and he's remarkably more motivated, mature and respectful than many guys I went to uni with at that age lol). We all grow and learn a heap from college days, so to link the success of a company today to factors from almost a decade ago is a low shot. Go forth and direct your energy into creating your own empires!
zingahgud 2 days ago 0 replies      
Have a look at the last IM exchange between Greenspan and Zuckerberg on the idea of protecting the privacy of students' home adresses from being accessible to any student at any university using Facebook. It is toward the end of the timeline.pdf document. The problem: Thanks to some sloppy php, anyone at any univeristy could download a .csv file of all of someone contacts including their home addresses and other private information, if that person had ever requested to export her data to csv format. Greenspan wanted this security hole fixed promptly. Zuckerberg didn't care; he just fired off an email to someone else (same guy who wrote the sloppy php?) and put it out of his mind. Then when Greenspan made others aware of the problem, Zuckerberg was upset because [un]"savvy" users might learn of security holes in Facebook. What a terrible thing that would be. We see that same sort of denigrating view of users and concealment attitude continuing at Facebook to this day.

Say what you will about Greenspan but at least the guy is responsible. We can't say the same for Zuckerberg. The kid is reckless and unremorseful.

spitx 2 days ago 0 replies      
And let's not forget the Google smear campaign, only last year, orchestrated / bungled by Burson-Marsteller.


j_s 2 days ago 3 replies      
I don't know the right phrase for the opposite of 'preaching to the choir', but that's what I think this post here on HN is: the opposite of preaching to the choir.
dreamdu5t 2 days ago 0 replies      
The lesson is (again): It's all about execution.
EvaPeron 2 days ago 2 replies      
bcherry 2 days ago 1 reply      
From the AIM chat logs:

> zberg02: but probably like 8k

> zberg02: i think that qualifies as real cool

8k isn't cool. You know what's cool...

Tipzntrix 2 days ago 1 reply      
Perhaps this is one of the places where legal action is justified? Maybe he should've got a patent like all those monsters out there today. At least his would actually have a product behind it.

It's nice to here it from the horse's mouth instead of second-hand from a movie made to generate revenue though.

interg12 2 days ago 0 replies      
This article actually demonstrates Zuckerbergs savvy in being the one who took the social network to market. Mark played everyone extremely well and deserves credit for implementing an idea that everyone had. THis story isn't about coming up with new ideas, it's about shipping something people want.
rickdale 2 days ago 2 replies      
Hm, anyone else have old AIM conversations stored on their computers? Seems convenient.
tomasien 1 day ago 0 replies      
Zuck's business model doesn't work? What a joke. They're profitable and make billions and billions of dollars a year.
huffer 1 day ago 0 replies      
feeding the tinfoil hats industry: the European Commission blocked this website and flagged it as illegal/scam :)

I apologise for not contributing, but I can't access the page so I have no idea what it says.. but by the amount of extensive comments here, I'm dying of curiosity

patmcguire 2 days ago 0 replies      
Has everyone on HN always been this cynical?
Apple accused of ripping off famous Swiss clock design cnet.com
349 points by cooldeal  23 hours ago   233 comments top 52
mladenkovacevic 22 hours ago  replies      
No, no, no you guys don't understand. This is not a cheap rip-off. It's an homage and the Swiss will be honoured that their famous clock has been elevated to the high-art status of Apple design and innovation. The critical eye of an average iPhone user will appreciate the fine craftsmanship & precision of the painstaking work that went into translating the iconic clock into an exact digital replica.
wickedchicken 22 hours ago 5 replies      
On an unrelated note, I wish there was a wall clock with the real Swiss stop-to-go[1] action...

Edit: and [2] would make for a great 11.5" laptop sticker

[1] http://www.3quarks.com/en/StationClock/index.html

[2] http://upload.wikimedia.org/wikipedia/en/b/b2/SBB-CFF-FFS.sv...

Tichy 18 hours ago 2 replies      
The Swiss had the right idea, but they made a crucial mistake in their implementation: they completely missed that people might want to look at the watch while on the move, and opted for a stationary, heavy and immobile implementation.

By putting it onto a small, portable device, Apple arguably added the crucial ingredient to make it a mass success (billions of users instead of a few Swiss citizens, who even have to be forced by their government to use it).

So I think Apple added the most important aspect to the mix and should therefore be considered the inventors of the clock design.

mullingitover 21 hours ago 1 reply      
Hey everybody, it's legally ok. Here's why: The software on the Apple side could not be placed into the processor on the clock, and vice versa, and that means they're not interchangeable.
anonymouz 18 hours ago 1 reply      
It seems that a lot of people argue that this is entirely different from the Samsung v. Apple case, because this is just an "homage" and SBB/Mondaine don't directly compete with Apple.

Hewever, SBB stands to loose a symbolic icon: What is now the Swiss railway clock may well become "that iOS clock". Mondaine will probably also not be happy when their
watches will be recognized as "that iPad clock".

It seems like a significant dilution of trade dress/a trademark to me.

DigitalSea 21 hours ago 1 reply      
Did Apple think they would get away with copying one of the most iconic clock designs ever without anyone noticing? I am speechless. Are cracks starting to show in a post-Jobs Apple too big to fix? I don't want to bash them, but this is blatant and unlicensed copying at its best. Kind of ironic given the recent events with Samsung.
ender7 21 hours ago 3 replies      
There is a difference here (although I admit I'm experiencing some lovely schadenfreude glow over here). Samsung built camouflaged products that were designed to confuse buyers into thinking they were buying an iPad. Here, Apple has ripped off an iconic design, but there's little doubt that what they are selling is still an iPhone and not a Swiss watch.

Still, trade dress (and accusations of douchebaggery) still apply -- and, in a broader sense, Apple are still hypocrits for decrying "copying" while still doing it themselves. The exact nature of the copying is simply different.

kamaal 20 hours ago 0 replies      
Its not a rip off.

Apple is doing great service by redesigning the Swiss clock design.

In fact the watch manufacturer is to blame for badly designing the watch before its time.

Apple is doing great service to humanity by redesigning this clock to its right position in the world they must be rewarded for it. Swiss clock maker must be punished for badly designing this watch which is rightly fully Apple's, stolen by this maker before its time.

Tichy 19 hours ago 2 replies      
Well before Apple adapted it, it was used only by a very tiny fraction of the worlds population. Apple made it a mass market success. Therefore I think it is fair to say that Apple actually invented the design. The Swiss tried but failed to make it popular. Apple did it right.
dmix 22 hours ago 3 replies      
> In 2009, Apple sent a letter of rejection to popular app developer Tapbots -- the makers of Tweetbot and other iOS apps -- saying the clock icon the company used in its pocket converter application looked too much like the icon used in Apple's own telephone app.

Yes the appropriate response to Apple's ridiculous actions is to act in the same manor. /s

Rather than pointing out hypocrisy, how about pointing out how EVERYTHING is a copy of everything before it in design. That is a constructive position, this is just inflammatory.

mxfh 18 hours ago 0 replies      
It't not just a copy it's a bad copy.

The small second markers seem to collide with the neighboring bigger 5-second markers. While the original design keeps an equal white-space between the markers, which leads to differing angles between the markers centers. Apple has all the same angles, not differentiating between the big and small markers which lead to this crammed looking version.

[EDIT, got curious and started measuring] Apparently I was wrong, the angles are also all the same (6 degrees) in the original. But still, optically the space between the hour and adjacent minute markers looks way better in the original.

simonh 17 hours ago 1 reply      
The Swiss railway has contacted Apple, who have yet to respond. At that point, when Apple respond, we'll know whether they're hypocrites or not. If they refuse to change the design or licence it, they are.

Should they have copied it in the first place? No. They were wrong to do it and they need to make amends.

Is this similar to the Samsung case? Let's see, we have 400 page Samsung documents explaining in minute detail exactly how they intended to duplicate the iPhone user interface, and when asked to stop doing it they refused. Hopefully Apple will show more grace and honesty. Maybe they won't. But right now that's all up in the air.

Edit: I see this case as a litmus test for the anti-apple crowd the way the Aliyun case was a litmus test for Apple supporters. In the Aliyun case, it would be easy to accuse Google of hypocrisy and make jokes about openness when in fact it was just about Acer meeting their contractual obligations as members of the open handset alliance. In this case it would be easy to paint Apple a plagiarist and hypocrite, when they still clearly have an opportunity to come clean and make right. IMHO both are good ways to tell if someone is actually capable of being fair minded or not.

poub 10 hours ago 0 replies      
I don't understand why Apple made such blatant mistake.

Originally the clock app wasn't included on the iPad.

This version of clock is well made, simple to use as this kind of app should be. Not rocket science but alternatives version are clearly missing on the Appstore.
(I looked for one of them that could replicate the one I have on my Android 4 Galaxy S2).

(Re)introducing the Clock app is great, but borrowing the design of very well known clock is a even better.

It fit the trend of Apple reunding well known texture and design. If that trend is good or bad is another question fueled by love and hate feelings.

But Mondaine, the owner of that clock design, have licensing option already in place :

Apple could have just bought the licence of this design. End of story.

Apple could also have taken this opportunity to ask worldwide watchmaker to give their clockface designs for the official Apple Clock application.

I am sure every watchmaker in the world would have even paid fro that privilege. After all they are all spending millions in magazine adverts.

I don't understand the position of Apple just after the Samsung lawsuit.

The result is to show Apple being arrogant once more and it put the company in a mismatch branding situation that could have been avoided.

Clearly somebody at Apple is not doing his / her job.

We're talking about a Clock application here! Not Maps which is another fiasco much much more difficult to fix.

That kind of decision never been the role of Steve Jobs. Who else is missing at Apple ?

pmarin 20 hours ago 1 reply      
We have a proverb here in Spain that you can translate as he who sows the wind shall reap the whirlwind
SODaniel 21 hours ago 0 replies      
'Accused'? Well innocent until proven guilty and all but it's a 100% accurate port of the entire design. Hardly even a question. I think they should have to pay at least what they are asking Samsung for in the latest lawsuit.
chmars 12 hours ago 0 replies      
Is the Swiss railway clock a protected trademark at all?

Judging from the Swiss trademark registry, the protection as a trademark ended a few days ago on September 3, 2012:


In addition, the trademark is only protected for class 14 as clocks and its parts but not for other classes and in particular not for software.

MartinCron 21 hours ago 0 replies      
I noticed the similarity right away. I had assumed apple had licensed the design if it were still protected.

I would like to expect better from them. It's a beautiful design and a smart addition, but doing this at all, regardless of the Samsung case, is shameful.

jopt 17 hours ago 1 reply      
It's a ripoff, and strange that Apple didn't license the design, assuming they did their homework and find the IP belonged to someone.

It's not going to confuse anyone. Zero iPads will be returned because the customers thought this was the famous Swiss wall clock they'd heard so much about.

So it doesn't have much to do with Apple v. Samsung. Let's not try so hard to make everything about that; high-resolution thinking should allow for similar but separate conflicts to exist.

its_so_on 20 hours ago 1 reply      
if we're being generous, maybe apple just thought that it was a Swiss train station clock nobody cares about (which, in a way, is what the clock actually was), which their team kind of just came across (maybe in switzerland!) and thought they liked it despite its being unremarkable and uncelebrated, like "found art". oops.

this just goes to show that good art really is timeless. it's not about bs marketing hyping up art that isn't art without the hype. as apple just found out, it's still art without the hype.

poub 14 hours ago 0 replies      
I don't understand why Apple made such blatant mistake. The clock app wasn't included on the iPad and an alternative version clearly missing on the Appstore.

This version of click is well made, simple to use as this kind of app should be..

Borrowing the design of very well known clock is a good idea too.

But Mondaine (the owner of that design) have licensing option already in place :

So clearly Apple could have just bought the licence of this design.

But they could also have taken this opportunity to ask worldwide watchmaker to give their clockface designs for the official Apple Clock application.

I am sure every watchmaker in the world would have paid without questions. After all they are all spending millions in magazine adverts.

I don't understand the position of Apple just after the Samsung lawsuit.

The result is to show Apple being arrogant once more and it put the company in a mismatch branding situation that could have been avoided.

Clearly somebody at Apple is not doing his / her job.

MaysonL 5 hours ago 0 replies      
Mountain out of mole-hill: the Apple haters get some fuel. Apple is a big company, one designer stole an icon (with or without realizing it was trademarked), and nobody caught it. Big deal. Not.

If Apple refuses to acknowledge its error, and refuses to fix (however it's required to), then it'll be a big f'ing deal, for anyone other than the anti-Apple zealots.

josephcooney 21 hours ago 0 replies      
Is it just me, or does the digital version have a more prominent drop shadow on the hands, and thus look more "real" than the real watch?
sneak 16 hours ago 0 replies      
Holy shit, design nerds, apple fans/bashers, and clock enthusiasts all up in arms in one thread!

Personally, this walking stereotype wishes that the cnet article had been typeset in Comic Sans so that the typeophiles could get outraged too.

benologist 20 hours ago 0 replies      
A bit ironic that CNet is ripping off 2 other sites to tell us this.
dakrisht 21 hours ago 0 replies      
I love and have always loved Apple products but shit will hit the fan for them soon enough...
mukaiji 20 hours ago 0 replies      
When I first opened the iOS6 timer and the stopwatch, and saw the neon style button, I was a bit confused.

It looks very nice but I thought it broke with design patterns of iOS in terms of color scheme, ambiance, typography (all cap text label), or even button size. It felt more like an Android interface than an iOS one. Anyone feeling the same way?

hownottowrite 15 hours ago 1 reply      
The SBB should be careful. If Apple's unhappy, they can move the rail lines into the nearest river. They have that power now.
Mordor 18 hours ago 0 replies      
Well, Apple's lack of innovation is going to remain in the spotlight for a very long time. At least they didn't copy Google Maps lol
malyk 6 hours ago 0 replies      
Is there a clock, different than the clock app, that I'm not aware of? I'm using the iOS 6 Gold Master and the icon my clock app does not look like that at all.
dmbaggett 11 hours ago 0 replies      
As staunch upholders of intellectual property rights, Apple, I'm sure, greatly appreciates this oversight being pointed out to them.
vvpan 6 hours ago 0 replies      
There are too many sarcastic comments in this thread. Seriously. There are 10 comments which are essentially the same. I hate to use the cliche comparison to Reddit, but it's hard not to.
forensic 21 hours ago 1 reply      
"Good artists borrow; great artists steal."
10char 22 hours ago 3 replies      
This, and inevitable references to Braun, have no place in comparison with the Samsung trial. Samsung made competing products so similar to the effect, and indeed with the purpose, of confusing consumers.

The recent rise in Apple bashing and calls of hypocrisy is even stranger in historical context[1]. Perhaps more of us should try and empathize with Apple's situation and history before passing fashionable judgement.

[1] http://en.wikipedia.org/wiki/Apple_v._Microsoft

thudson 12 hours ago 0 replies      
I hear that the WC doors on Swiss trains have a slide-to-unlock feature as well.
fatbird 10 hours ago 0 replies      
For all the Gruber haters here, his comment is "What's good for the goose is good for the gander. Apple needs to cough up a licensing fee here."
waynesutton 5 hours ago 0 replies      
They can battle it out in court and the blogs I'm just glad Apple finally decide to ship their own clock app for the iPad.
capitao 21 hours ago 0 replies      
I own a mondaine watch like this, I rather like it :]

And truthfully, seeing it in ios, I must say I kinda like it, even though its obviously ripped off and the anit-apply-fanboy in me wants to see blood

fla 17 hours ago 0 replies      
Apple is very good at marketing, very good. That's how they make people talk about their products. And it costs them practically nothing.
SquareWheel 20 hours ago 2 replies      
Speaking as an Apple hater: so what? Apple should be allowed to use said design, as should anybody.
mun2mun 22 hours ago 0 replies      
Nope, Apple took Swiss clock as base design optimized it for better iPad UI experience.
tisme 10 hours ago 0 replies      
If a couple of rounded corners and some UI tweaks are worth $3B then I wonder what the design of a clock is worth.
EternalFury 11 hours ago 0 replies      
Translate that for me: L'Arroseur arrosé.
labizaboffle 22 hours ago 0 replies      
Apple also stole the idea from the bite out of the apple from Genesis. (The Bible, not Phil Collins and Peter Gabriel.)
manojlds 17 hours ago 0 replies      
Funny that the photo credit mentions Mondaine AND Apple :)
zalew 22 hours ago 0 replies      
They should go thermonuclear war on this.
sathishmanohar 21 hours ago 2 replies      
w00t! Billion dollar lawsuit! Seriously how else can a watch company make big bucks today?
zerostar07 19 hours ago 0 replies      
what if the swiss rail system installs screens or develops tablets for its passengers one day that show the iconic clock? Could Apple sue them then?
sampsonjs 11 hours ago 0 replies      
Talent imitates, genius steals!
hxf148 17 hours ago 0 replies      
Really? Get bent.
ritratt 15 hours ago 0 replies      
runjake 22 hours ago 6 replies      
I'm as hopeful that Apple gets served its own medicine like the next guy, but this seems more like a common sense design rather than a copy.

In fact, I once made a mechanical clock that looks virtually identical to the iOS example and this was years before iOS was unleashed on the world. It's just thick lines and thin lines thrown together. The hands aren't even tapered like the Mondaine's.

This seems like a desperate grasp from Apple critics, why don't they go after more obvious examples, like the pull-down menus they borrowed from Android?

Heck, I don't even see all this "stealing" to and fro as a bad thing, but rather paradigms moving forward.

Edit: some people pointed out the red line, which this color-deficient, sleep-deprived person failed to notice. But still, doesn't this fall more under homage than rip off?

zdw 22 hours ago 5 replies      
They also copied the look of Braun's classic calculator and tape deck designs for their calculator and podcasts apps.

Is this particular instance copying? Yes.

Will it affect the popularity of said designs in a positive manner? Probably.

Will they sell more of their $400 clock (see: http://www.momastore.org/webapp/wcs/stores/servlet/ProductDi...) as a result? I'd guess at yes.

So, in any case, they sell more clocks, or if they litigate and win, they get a license fee out of Apple. So getting copied by Apple has a downside where?

Stripe in Canada stripe.com
344 points by boucher  2 days ago   79 comments top 25
kurtvarner 2 days ago 1 reply      
In many ways, launching in Canada is a big step for us"going from 1 to 2 is often harder than going from 2 to n"but it's only a small piece of what we have in mind. We grew up in countries from Honduras to Kenya, and a large part of why we're so eager to build Stripe is to help those outside the US to participate as first-class citizens in the internet economy.

I'm glad they address this before people complain about Stripe only moving to Canada.

xal 2 days ago 1 reply      
We at Shopify just enabled automatic account provisioning for Canadians. End of an era of endless pain. We are thrilled!
drm237 2 days ago 3 replies      
This is great news. While working with Stripe today, I noticed something a bit unnerving. The Stripe charge method will create a charge even if the CVC and the AVS fraud checks fail. It's then up to you to monitor this and reverse the charge if you feel it's too high risk (there's no fee reversal though). There are ways to get around this with custom development, but that doesn't help for people who are using software that's already integrated with Stripe. It would be great to see a fraud setting that would allow you to prohibit charges from going through depending on what checks fail.
redstripe 2 days ago 5 replies      
This is great. Although I was a bit surprised by the lengthy prohibited businesses section - https://stripe.com/ca/terms#Prohibited+Businesses

There are some legitimate business apps that not allowed. e.g. anything twilio based: (36) prepaid phone cards, phone services or cell phones

whyleyc 2 days ago 3 replies      
Good job guys - what's your ETA for the UK ?

We're crying out for you !

run4yourlives 2 days ago 0 replies      
Thank you stripe for:

1. Listening to us :-)
2. Adding a viable resource to the Canadian marketplace.

tibbon 2 days ago 1 reply      
This is a great step. I'm really looking forward to being able to split transactions with the Platform so I can easily create an Apple-like App Store experience (where my customers get 90% of whatever and I get 10% of the transaction).
wildmXranat 2 days ago 0 replies      
Yes! I received my Beta invite last night and integrating with Stripe moved to the top of my to-do list.
Dystopian 2 days ago 0 replies      

Crossing Stripe off the list of innovative services I can't use in Canada

Will definitely use you for my next product!

hakanito 2 days ago 1 reply      
Great work! Naturally I figure Sweden will be next ;)
juzfoo 1 day ago 0 replies      
Great News! Have couple of questions though,
1. What are the PCI implications if I were to use stripe.js in my site? Will I have to get my application and deployment stack PCI verified?

2. I will have customers from both US and Europe, so what is the ideal approach to support multi currency so that customers end up paying the same (or close to same) price that they saw on my website?

conradfr 1 day ago 0 replies      
I often speak about Stripe here in France and nobody knows it. I hope it will come sooner than later because the market of credit card (well, debit card) charging only offer horrible tools (and the usual PayPal).
armandososa 2 days ago 0 replies      
Yay! I think it's easier to open an account in Canada from outside than opening one in the US. Do you know if that's true for Mexico?
jblake 1 day ago 1 reply      
I'm currently on Beanstream with terms that were acceptable at the time (hard to get a Merchant Account) but are now completely unacceptable and am interested in a switch.

- 5% 6 month rolling reserve //

- 2 week + 5 day lag settlements //

- 2.8% blended + monthly fees.

Am I crazy to not switch, or should I present this to Beanstream and get better terms? Other than my terms, I have nothing but ecstatically positive things to say about BS.

Note: my terms are like so because of the nature of my business model. It is high risk, like a TPPA (third party payment aggregator). Think: Eventbrite.
Appreciate the feedback.

shyn3 2 days ago 1 reply      
They forgot Interac for Canadians.
tsieling 2 days ago 0 replies      
This is great news. We got into the beta for Canadian service and what a breath of fresh air. Goodbye, forever, Paypal, I look forward to watching your slow, sad demise.
robmclarty 2 days ago 0 replies      
So much less pain in Canada now. Thank you Stripe!
slajax 2 days ago 0 replies      
If Stripe and Square made a baby it would be the most glorious merchant baby ever.
47 2 days ago 1 reply      
It still does not let you charge in US Dollars (Yes I know the customer can pay in what ever currency they want). But from a Canadian business point of view where your large section of customers are from US. Stripe is still not a very attractive option.
noirman 2 days ago 0 replies      
Yes!!! Great job, Stripe Team.
d0m 2 days ago 1 reply      
That Country selection drop-down is pretty slick, love it. Is there any plan in open sourcing it?
brendanobrien 2 days ago 0 replies      
So excited! Thank you Stripe!
j45 2 days ago 0 replies      
This is great news.
braver 2 days ago 0 replies      
PayPal is really great. Buts it has oldish APIs and horrible documentation. Great to see promising services like stripe moving out of the US. Looking forward to see you guys all over the globe.
indiecore 2 days ago 0 replies      
CoffeeScript: less typing, bad readability ceronman.com
343 points by dcu  4 days ago   218 comments top 42
jashkenas 4 days ago 2 replies      
Most of the bad code examples in this post are taken from the CoffeeScript compiler itself. For that I have to say "mea culpa". There's a lot of overly clever and dense bits that have accrued in the compiler over time -- sometimes due to the tangly nature of the codebase, but also sometimes because we tend to use the self-hosted compiler as a test bed for edge cases of combining different language features together.

If you're looking for more regular style, this style guide is a better place to start:


crazygringo 4 days ago 8 replies      
This is a fantastic post -- I feel like I've run into all these crazy "gotchas" over the past year, and more.

And the worst part of it is, nearly all the confusing/ambiguous/different compilation examples given rely on the undocumented rules CoffeeScript uses for parsing. It's amazing that, still, CoffeeScript's entire documentation is basically a "getting started" guide, and there is simply no reference documentation.

ilaksh 4 days ago 10 replies      
Just because you CAN do something in CoffeeScript doesn't mean you SHOULD, or should ALL of the time. Just like in JavaScript where, if you want, you can write all of your code on one line, but you shouldn't.

    action true
option1: 1
option2: 2

If you really use CoffeeScript regularly, that isn't confusing. I don't usually write it that way though. I would do this:

  options =
a: 1
b: 2
action true, options

doSomething () -> 'hello' just isn't valid code.

Usually I would write

    doSomething ->
return 'hello'

or maybe

    doSomething -> 'hello'

If you write it the way he did, the parenthesis are confusing.

For this one:

    action = (token, i) ->
@tokens.splice i, 0, @generate 'CALL_END', ')', token[2]

-- first of all, you always want to indent two spaces. But the main problem with that is in CoffeeScript you do need to use parenthesis after the first call because your code will be unreadable otherwise. You just can't write it the way he did.

    moveTo 10,

doSomething 1,

doSomething 1,

Those are ridiculous examples. No one does that. You just write moveTo 10, 20, 10

    doSomething (->
'hello'), 1

Indentation is significant in CoffeeScript, just like it is in Python. Just having a parenthesis shouldn't change that. Anyway, what I do is this:

    somethingDo = (ms, func) ->
doSomething func, ms

and then I can just write

    somethingDo 1, ->

action(key: value, option: value, otherValue)

You don't write it like that if the function takes two objects. You would probably just write

    action {key: value}, {option: value}, otherValue

x = {
key3: value3

This is called destructuring assignment, and its part of the new ECMAScript. Its useful to not have to repeat key1, key2 everywhere when the variable with the value has the same name as the object property. The extra curly braces are just necessary to differentiate from the normal syntax.

Sometimes yes/no or on/off are more readable than true/false. That's an advantage.

    x = 1 if y != 0;

Don't use semicolons in CoffeeScript. I also don't put if statements at the end of a line because I don't believe that is very readable for most people including me. Also, in CoffeeScript its probably better to use isnt instead of !=, although rather than !=, you would want !==.

    if y isnt 0
x = 1

I'm not that sure about the use of unless, although it probably is a little bit more readable overall.

  break for [tag], i in @tokens when tag isnt 'TERMINATOR'
@tokens.splice 0, i if i

He says that is supposed to delete TERMINATOR from tokens. I tested it, it doesn't do anything, and the second example of the correct way doesn't work either. I think he meant this:

    filtered = []
for token, i in tokens
if not (i is 0 and token is 'TERMINATOR')
filtered.push token

i += block.call this, token, i, tokens while token = tokens[i]

Another example of something you CAN do in CoffeeScript but shouldn't. Actually it is a bad idea in general. I think a CoffeeScript programmer would actually write something like this:

    class Parser      
block: (token) =>
@currentNode.push new Token(token)
parse: =>
for token in tokens
@block token

I would never write something like 'mainModule.moduleCache and= {}'

Instead of

    js = (parser.parse lexer.tokenize code).compile options

I would write

    tokens = lexer.tokenize code
parsed = parser.parse tokens
js = parsed.compile options

smacktoward 4 days ago  replies      
I don't have a strong opinion on the article itself (it seems well-reasoned to me, but I don't use CoffeeScript personally so who knows)... but the comments attached to it are hilarious.

I think CoffeeScript has great readability, because I've taken the time to learn how it works.

If you have to take the time to learn how to read something, it's not easily readable.

CoffeeScript is only hard to read if you try to read it with a JavaScript mindset.

Yes, why would anyone approach a tool pitched explicitly at JavaScript developers, whose "golden rule" is "it's just JavaScript" (see the top of http://coffeescript.org/), with a "JavaScript mindset"? Truly, it is a mystery.

crazygringo 4 days ago 5 replies      
Question: am I the only one who's driven nuts by "if"s that come after the "then" part? E.g.:

    do_something(with, these, args) if im_supposed_to

I mean, the processor/interpreter always needs to evaluate the "if" first, so what purpose does it ever serve to put it after the "then"? To me, it just confuses things because it feels like code is getting executed backwards -- like crossing an intersection, and then checking to see if the light is green.

I know it works "in English" ("do this if that"), but when I scan other people's code I'll sometimes completely miss the "if" (sometimes it's just off the screen).

Are there any examples where this reverse-if actually helps, instead of harming, code intelligibility?

ricardobeat 4 days ago 1 reply      
Though most examples are not something you'd write normally, this line is what kind of flopped the article for me:

    Given that CoffeeScript doesn't fix any of the
fundamental problems of JavaScript

same for a comment here:

    coffeescript doesn't bring much to table

There is so much coffeescript adds that I find these laughable:

    string interpolation 
multi-line strings
guarded loops (hasOwn...)
easy constructor/prototype definition (class)
avoiding global leaks/shadowing
function binding
splats, defaults
safe usage of reserved names
existential operator
chained comparisons
READABLE regular expressions

This just off the top of my head. These make a huge difference to writing code everyday. I've been writing CoffeeScript for 90% of my projects in the past 2.5 years and it pretty clearly affected my productivity for the better. I can only conclude that whoever says "coffeescript doesn't add anything" hasn't really used it for work.

Case in point, if you look at the linked article at the end you'll see an update by the author: I actually love CoffeeScript now that I've been writing it for a year.

tete 4 days ago 1 reply      
I don't consider this article bad at all, because it really makes some good points.

However a lot of criticism seems to come from the fact that the author is a Python programmer and therefor wants CoffeeScript to be more like Python. No, I am not saying something like the author not understanding it isn't meant to be Python, but for example the implicit vs explicit debate is certainly a more philosophical view. Ask people who prefer other programming languages and they will have a different view. Hey, after all that's why there are so many, even if Ruby, Perl, Python, Falcon, etc. have very similar use cases.

My opinion for example is that dynamic languages are very implicit in first place so saying you don't want that (at all) doesn't make too much sense. I also don't have problems reading CoffeeScript, but occasionally had problems with very explicit languages being too verbose which can make it harder to follow. So looks like my mind works slightly different here.

But back to the article. There are lots of valid points. I think coding guidelines, which one should have working in a team, no matter what language could solve some of them. Some points look a bit like mixing different styles on purpose and at least can't see how you could find something like that in the wild. Just because you can code ugly, it doesn't mean you have to, but again that is more of an opinion. Some people like usually verbose languages, because they say they are easier to read, others like ones with shortcuts or where you have multiple options to express things, making it easier to read (for some people). I for example always enjoyed the fact that Perl has unless and until in place of negated if/while.

But that's more what you prefer. But hey, CoffeeScript is all Javascript, so if your team doesn't like it it's (comparatively) easy to step by step switch back.

debacle 4 days ago 1 reply      
I find this review very even-handed. It doesn't really make any bold claims, but it does provide a slew of evidence.
andrewingram 4 days ago 4 replies      
A few years ago I made an email campaign editor using JavaScript, I re-implemented it in CoffeeScript a few months ago. What I now want to do is re-implement it in the good JavaScript I've learned from reading the code that CoffeeScript generates.

There are some annoying parts of CoffeeScript. If your function takes callbacks as the first parameters, and another value as the second (such as setTimeout), you end up with some really awkward syntax. I've seen a lot of people define a delay method that swaps the parameters of setTimeout just so it's easier to use with CoffeeScript.

Like the author of the article, I have a Python background, but I've also written a lot of JavaScript, I love the syntactic sugar that CoffeeScript brings, but I hate reading CoffeeScript code. The project that my re-implemented email editor is used in has a hybrid of JavaScript and CoffeeScript code, and I'm not kidding when I say that everyone (myself included) groans when they have to work on the CoffeeScript parts.

cnp 4 days ago 1 reply      
Personally, i write my CoffeeScript with as much syntax as possible, to keep it as readable as possible: as a rule, I always use parenthesis and commas while leveraging CoffeeScript's "good parts".

But that said, the last couple of projects I've written in pure JavaScript and it's actually made things much easier to go back and read. Like the author of this post, I too have had difficulty reading back over my old code and, at a glance, understanding precisely what's going on.

Over the past couple of months I've gone from being absolutely devoted to CoffeeScript to on the fence, mostly due to readability.

(I'd love to see a fork of CoffeeScript that forces syntax.)

cristianpascu 4 days ago 1 reply      
I have recently implemented to quite large project with CoffeeScript, the most recent one for a full export to HTML for http://flairbuilder.com, and I have to say that CoffeeScript is a superb language. It's a pleasure to work with.

The kind of problems that the article points out are easy to spot. If small syntax changes yield significant output code, that will be immediately reflect in the program execution.

Plus, a decent code base will have unit testing in place, which should catch more intricate, harder to catch, unwanted code flavors.

eranation 4 days ago 5 replies      
I guess I'm lonely in this world, but I really want a statically typed JavaScript alternative. Dart is nice, but no JS interop (yet), GWT is just Java, which is not the most fun thing in the world, ClojureScript is nice, but not static typed and Lisp is a bit too extreme for me, but the new Scala JS DSL seems worth waiting for.
deanotron 4 days ago 1 reply      
I've been using coffeescript for about two years - I thought it was the best way to keep the pleasant aesthetic of python, which was my favorite language, and have been happy working with it ever since.

I just want to throw out a positive experience with it and to say that I don't support the author's premise of "here's some misleading things you can do with CS, therefore CS is unreadable". This applies to all languages, and 'fanciful' features and syntax should be avoided almost always in every language for the sake of readability.

There are MANY reasons not to use coffeescript, but JS is all functions all the time, and -> is my best friend.

mratzloff 4 days ago 2 replies      

    Coming from Python [...]

For example, in C-like languages, you can omit curly brackets
after a conditional expression if you only have one statement:

if (condition)

But what happens if we add a new statement:

if (condition)

Of course, that doesn't seem to be an issue in Python, the language he's coming from.

Most of his points are similarly contrived and could be equally applied to Ruby, a language which doesn't require parentheses and quite a lot of developers seem to like, or Python which is similarly whitespace-dependent and quite a lot of developers also seem to like. But inflammatory headlines do drive traffic from HN...

    Given that CoffeeScript doesn't fix any of the fundamental problems of JavaScript

I think most developers who are well-versed with both JavaScript and CoffeeScript would disagree that CoffeeScript doesn't fix any of the problems with JavaScript. It certainly makes it easier to loop through object properties. It makes code more readable in a number of ways; post conditions, list comprehension-like syntax, simpler loops, the existential operator (`foo?`), and the maybe object-like syntax (`foo.bar?.baz?.quux`) are definitely improvements.

You can of course write bad code in any language, no matter how structured it is. I myself am about to embark on refactoring a massive, terribly-constructed Python system that processes millions of requests each day. The author didn't follow the strictures of the Python community at all. How is that any different from someone who exercises poor judgment when writing CoffeeScript? It's not.

armored_mammal 4 days ago 0 replies      
I concur with the author. When I write CoffeeScript I often use a more explicit or more c-like style for things I find ridiculously ambiguous or hard to parse when reading quickly.

Particularly, if one line has lots of commas, I put parens all over the place because no matter what I do, having to manually parse the comma arrangements and figure out what's nested and what's a function does not go quickly. I also find myself writing explicit returns somewhat frequently just so it's much more clear what's being returned.

The overarching issue is that the syntax blurs rather than pops -- there are too many instances where things that are significantly different in function look nearly the same.

sixbrx 4 days ago 6 replies      
I haven't programmed in Coffeescript, but does it bother anyone else that new variables are introduced without "var"?

When reading js, seeing the "var" really helps me to know the programmer's intent that this is a new variable being introduced, not an attempt to reassign one that should already exist. Does CS have features that make this point mute?

TeeWEE 4 days ago 0 replies      
The big point here: less characters for the same logic is not always better. Saying that you need less characters to write function x in coffeescript compared to javascript doesnt mean it is better.

Its all about syntax and semantics. Code from languages with a small and consistent syntax, one-way-to-do-it, and a easy semantics are easier to understand than languages with a lot of semantics.

For example, Scala is cool. But also overly complex. The same holds for C++. But languages like clojure are very simple to grasp and the semantics of these languages are very small.

mcantor 4 days ago 0 replies      
Both statements do completely different different things, although they look very similar.

This is true for both CoffeeScript examples he gave and their resulting JavaScript.

ryankshaw 4 days ago 2 replies      
whenever I see something like this that tries to rag on coffeescript it seems like they all reference ryan florence's post from a while ago: http://ryanflorence.com/2011/case-against-coffeescript/

for the sake of clarification, ryan is sitting right next to me, writing coffeescript (as with all new code we write here at instructure, see: https://github.com/instructure/canvas-lms/tree/stable/app/co... )--and loving it. whatever "crazy gotchas" he found back then are obviously trivial to how much easier coffeescript makes life. it seems like every third tweet he makes is about how much he loves CS now: https://twitter.com/ryanflorence

Other than that, everything in this post just comes down to "just because you can doesn't mean you have to or should." disambiguate if helps make things readable

latchkey 4 days ago 0 replies      
I agree, it is too bad that CS has so many optional ways of doing things. That said, it is possible to write unreadable code in pretty much any language. If you have a good style guide and stick to it, it is easy to avoid all of these issues.
ojosilva 4 days ago 1 reply      
After reading this, I felt the urge to classify key aspects of write and readability of the programming languages I've dealt with over the years.

How easy or fast it is...

  - to write what I want to achieve
- to write something that makes me feel creative
- to write something that makes me feel tidy, organized
- to write a syntax error
- to write a logical error
- to step into a "gotcha"
- to find that bug
- to grasp a short snipped
- to grasp a 20K loc app
- to read my own code 1 week later
- to read my own code 3 years later
- to read somebody else's code

Now trying to rate languages by these parameters is a tough job that I can't even imagine how to tackle. In many instances it doesn't even has to do with the language itself, but rather with my experience and relationship with it. But any exercise in this direction gives some food for thought while trying to find the right tool for the next job. Or something to think about when looking back at some of the choices I've made through my programming lifetime.

gothy 4 days ago 0 replies      
Using CS for about 1.5 years now.
Yes, there're ways to hurt yourself with bad CS code. This is also true for Python.

When developer writes some fancy one-liner in CS or Python and I'm reviewing his commit, I just ask him to come over and explain what this thing is doing. Sometimes it takes more than 20 second to read and explain even by author.
Then I say: "You wrote this line an hour ago and it's already hard for you to understand what it does. Imagine you'll need to change it in a month. You'll hate yourself. Go and rewrite this code explicitly to help yourself in the future."

If you force yourself and teammates to write explicit code, you get all the pluses of CoffeeScript avoiding bad readability.

tharris0101 4 days ago 0 replies      
This is exactly why I stopped using CoffeeScript. I hate Javascript so I was excited when I saw CS for the first time but after a while I realized I was doing two calculations in my head:

1: What is the JS that CS was generating?

2: What is the JS doing?

Maybe I just didn't give it enough time, but it seemed quicker and more reliable for me to just suffer through the JS syntax.

iamwil 4 days ago 0 replies      
Some of the complaints in the OP aren't mistakes that I make often, so I guess I don't see them. Perhaps for someone that makes those types of mistakes often, it'd be a detriment, but so far, I've been happy with my coffeescript experience.
lucian303 4 days ago 1 reply      
"readability is more important than writability for a programming language"

Couldn't agree with you more. Readability is measurable and considering that a lot of programmers come from C-type languages, I really don't see why people try to modify an existing formula (as badly implemented as that formula is in JS).

tl;dr: Let's face it, if you're using Coffeescript or similar because there are too many braces or parenthesis, perhaps you should quit development right now and take a class on basic algebra, quit that and save the world your horrific code. Seriously.

losvedir 3 days ago 0 replies      
ParenthesEs is the plural, parenthesIs is the singular.

Normally I don't do the spelling/grammar thing, but it was consistently wrong in the article, and at least a half dozen comments here were getting it wrong, too, so I figured a public service announcement was in order.

dustingetz 4 days ago 0 replies      
wow readability is about API design like requests vs urllib2: https://gist.github.com/973705

except when APIs get 100x bigger, API design becomes 100x more important. and using a language ecosystem that encourages good API design, over a language that is cobbled together and has no particular opinions about what good API design looks like[1] (or, even, bad opinions[2]), so that less experienced developers end up with decent output, is that much more important than concerns like parens, commas and braces. curly braces never made a project fail. shitty API design does.

[1] javascript!
[2] java!

sheesh. there are bad things about coffeescript, but this stuff hardly matters.

tjholowaychuk 4 days ago 0 replies      
Great article, totally nails it. No "good" language design should be so ambiguous
rayiner 4 days ago 0 replies      
I'm meh on significant indentation, but significant space characters is just a terrible idea. I blame Haskell.
tylerlh 4 days ago 0 replies      
Yeah, well that's just, like, your opinion, man. -- The Dude.

Personally, CoffeeScript has been my favorite thing to come about in the past few years.

jtms 4 days ago 1 reply      
CoffeeScript readability > Javascript readability

and that's all that matters to me

endemic 2 days ago 0 replies      
Here's my own anecdotal example of CoffeeScript's readability.

Once, before banging out a bit of complex code, I thought I'd write out some psuedocode to help wrap my mind around what I wanted to do. I type out my psuedocode algorithm, realize I've written valid CoffeeScript, then uncomment it.

That's the experience that made me think CoffeeScript is MORE readable than JavaScript.

beernutz 4 days ago 0 replies      
Badly written code is badly written code in ANY language.
jaysoo 4 days ago 1 reply      
I myself enjoy using CoffeeScript, but I understand it might not be for everyone.

It's always good to look at the pro/cons before choosing a language, so I think discussions like this is good.

That being said, some of the problems this article points out can be addressed by going back to more JS style.

e.g. Not relying on implicit parentheses/commas/braces

I like the "Fancy" for loop because it's closer to what I do in Python (yes I know they are not exactly the same). Same thing with the "Tricky" if statements.

Also the redefinition shortcuts provided in CoffeeScript is pretty much what I do in plain JS anyway.


foo = foo || 'bar';


  foo or= 'bar'

viseztrance 4 days ago 1 reply      
The moment you try to do simple things like concatenating a string you realise that javascript is a bit more tedious than it needs to be.

While nowadays I prefer coffeescript to js, I would rather have some syntactic sugar like scss is for css. I've looked into it but nothing has enough momentum to make me sure it will still be around in two years or so.

As a sidenote, while I mentioned I prefer CS, have you ever tried using a ternary operator? or pass a callback function in jquery (ex. the hover out event)? or just return "this".
There are so many things that feel so wrong.

systems 3 days ago 0 replies      
on one of the slide in this presentation i found this interesting ( https://speakerdeck.com/u/clkao/p/livescript-tax-free-javasc... )

   Javascritp + ruby  = coffeescript
coffescript + perl = coco
coco + haskell = livescript

So i think coffeescript is not the end of the line, and i think this mean, there is a serious need for a better javascript

gbin 4 days ago 0 replies      
I had this same feeling programming in ruby few years ago when no formal language grammar was defined (with really weird problems with : vs [space]: AFAIR). Is it the same for CS ?
kin 4 days ago 2 replies      
while the points in the article make sense and I agree, if you keep your Coffeescript code consistent I really don't suffer a readability problem, especially relative to JS where there's like 5x more code to go through
rimantas 4 days ago 3 replies      
Seems like there are two types of developers: those who don't want even to hear about CoffeeScript and trying hard to find deficiencies in it and those who embraced it and feel unhappy every time they are forced to work with vanilla javascript again.
tiglionabbit 4 days ago 2 replies      
Oh dude, just learned something new from this article.
options = {
options = {
I have a lot of maps in my app that look just like that. It'll save me a lot of repetition.
d0m 4 days ago 0 replies      
Thanks for this post. This is actually how I feel about CS but could never actually explain it correctly. I find it very hard to read other people code because of all these implicit rules that are more often than not ambiguous. Yes, sometime it's shorter but not necessarily faster or easier to read.
paulbjensen 4 days ago 0 replies      
I wrote Dashku entirely in CoffeeScript. It was a productivity boost, and for that I owe it my firstborn child.
Odd Things Happen When You Chop Up Cities and Stack Them Sideways npr.org
342 points by missechokit  4 days ago   66 comments top 27
jballanc 4 days ago 5 replies      
An interesting article, sure, but there's a small problem. The section of Istanbul that they've chosen (centered here: https://maps.google.com/?ll=41.044081,29.096603&spn=0.04...) is actually on the Anatolian side of the Bosphorus, and it's one of the newer neighborhoods. The streets are actually arranged like that because of the terrain, more than because of history.

That said, this is a case of being right for the wrong reason. Istanbul is an amazing city to walk through. It's like the worlds largest living maze, and you're never quite sure where you'll pop out.

For example, the first time I was there, we turned a corner down an alley to try and get to one of the main roads. The alley started out wide enough for us to walk three-abreast, but quickly narrowed. At some point I looked up and noticed that there was now a roof over our heads. Eventually the alley narrowed to where we had to turn sideways to squeeze past people coming in the opposite direction, and there were shop counters on either side. A few feet more, and we stepped out onto the main street we had been looking for. I turned around, but where I expected to see the alley was, instead, what looked like a regular store-front, identical to all those next to it on either side...

But you don't have to believe me. Yandex has great walking maps of Istanbul! Here's the location I was just describing: http://harita.yandex.com.tr/-/CVeLjW60

cobralibre 4 days ago 1 reply      
Paris shouldn't be too surprising. While the city is quite old, it was reshaped and modernized in the mid-19th century.

See, for example: http://en.wikipedia.org/wiki/Haussmanns_renovation_of_Paris

samd 4 days ago 1 reply      
Istanbul's layout is downright Byzantine.
jrockway 4 days ago 3 replies      
all those crooked, lopsided, curvaceous streets, going off in so many directions, I can't help wondering, what would it be like to wander there?

It would be like the suburbs in the US. Houses are all on cul-de-sacs that wind around and eventually join larger streets which eventually join arterial streets. Pretty much like the map of Istanbul they chose.

jpdoctor 4 days ago 3 replies      
Would love to see Boston added. (Most believe that Boston city planners used the throw-spaghetti-against-the-wall method of city planning.)
stevenrace 4 days ago 1 reply      
I've been transfixed with the idea of 'Digital Comparative Studies of Cities' (or some similar turn of phrase).

With the advent of mapping projects (GoogleMaps, Openstreetmap, etc), environmental sensor networks (my startup's area), and cheaper LiDAR arrays (for point cloud mappings of buildings and terrain...now in CMOS form) - we'll be able to quantify the homogeny of surbanization, architectural 'themes', road uniformity, development rates, etc over time.

There are lots of similarly clever projects cited on BLDGBlog [1] if you're into this kind of thing.

[1] http://bldgblog.blogspot.com/

LesZedCB 4 days ago 0 replies      
I used to live in Istanbul, I actually lived in the section shown on this map. I can verify from walking hundreds of miles through those serpentine back roads that wandering Istanbul is a beautiful experience.
redcircle 4 days ago 2 replies      
There seems to be a value judgement here: that curvy and uniquely shaped streets are superior in some way. This can be decided with objective evidence: look at how city districts flourish, and see whether it is related to the shape of the city blocks.
stephth 4 days ago 1 reply      
portlander52232 4 days ago 1 reply      
Allan Jacobs' book Great Streets contains dozens of this type of map, not chopped up, but showing the street systems all at the same scale. It's absolutely fascinating to compare 'Cisco to Houston to Paris to Venice. A highly recommended book. http://www.amazon.com/Great-Streets-Allan-B-Jacobs/dp/026260...
shocks 4 days ago 1 reply      
I've always thought that American roads suck for exactly this reason.

They're so boring. -__-

Alekanekelo 4 days ago 1 reply      
Humorous post. I can't say that I am surprised by Paris dissected. All those small streets and alleys creates a lot of small segments and those small segments, when looked from above, will seem monotonous and all in the same shape. It seems that it is mostly the larger segments that are oddly shaped and that is not really surprising.
jules 4 days ago 0 replies      
Paris looks more homogeneous than it is simply because they analyzed a bigger area, or at least an area with more pieces. For example if you analyzed the entirety of Istanbul, then for almost every piece you could probably find a very similar piece elsewhere.
jboggan 4 days ago 2 replies      
Glad to see this article is up on the front page. I submitted it two days ago and it never got traction.

Question about article submissions - in the past when I've submitted a duplicate article it takes me to that HN posting instead. What are the edge cases where identical articles get posted separately on HN?

SeanLuke 3 days ago 0 replies      
Including Salt Lake City would be humorous.


state 4 days ago 0 replies      
We have so much rich geographical data and it's always refreshing to see someone (the artist / architect) asking simple questions about it. I'm much more excited about the work itself than Krulwich's commentary (for as much as I like him). Cities are rich with spatially disjoint points of similarity.
dm8 4 days ago 0 replies      
I'd be curious to see how old cultural cities like Mumbai, Cairo etc. will look like when they are "chopped". I'm sure they won't look anything different from Istanbul.
supreeth 3 days ago 0 replies      
Love this project!
I'm curious to find out how Indian cities would hold up to this exercise. A city like Delhi that is made up of 7+ old and new cities, Mumbai which is sea front and hard pressed for real estate (which important city isn't?!) and Bangalore which has very old green parts and very new barren areas would all be fun to map.

One other interesting exercise would be to map the cities over time. A satellite view image from the 1960's and one from 2012. Could throw up interesting anthropomorphical results.

pbhjpbhj 4 days ago 0 replies      
What are the odd things - I only scanned the article but it seemed pretty much to show expected results. The whole is more than the sum of parts.
MikeCodeAwesome 3 days ago 0 replies      
I have a fondness for geography and maps, so I am delighted to see this posted here. Big Think covered this back in February, 2011: http://bigthink.com/strange-maps/502-hung-out-to-dry-a-taxon....

The above article is part of Big Think's Strange Maps, a fantastic blog which has many, many more interesting articles!

galvanist 4 days ago 0 replies      
This reminds me of Ursus Wehrli's work.
trentlott 3 days ago 0 replies      
He never says what "odd things" happen. He just organizes blocks and then marvels at what it looks like in a completely boring way.

He spent all his allotted time making the figures, apparently, and took no time to thinking of anything interesting to say about it or describe these "odd things" he teases in the title.

minikomi 4 days ago 0 replies      
Nice. Would love to see Tokyo. My guess is it would be a mix of NY and Istanbul chunks, depending on the area.
aw3c2 4 days ago 0 replies      
Doesnt say anything about the sources or methology. I guess footways and the like were not used in this.
kristianp 4 days ago 0 replies      
I don't find this interesting at all. What is the point of doing that?
Cherian 4 days ago 1 reply      
Mumbai is an excellent case for dissection.
PilateDeGuerre 4 days ago 0 replies      
The Situationists meets William S. Burroughs
Gallery of free HTML snippets for Twitter Bootstrap bootsnipp.com
337 points by madh  7 days ago   65 comments top 21
superasn 7 days ago 3 replies      
Great site! Other good bootstrap related stuff:

http://wrapbootstrap.com / http://bootswatch.com - for themes, http://bootstrap-forms.heroku.com for quick form building

msurguy 7 days ago 0 replies      
Bootsnipp creator here...
Oh my loving God, this is amazing to end up on Hacker news on the second day of the creation being online... Thanks to you guys it's so popular now.

I will be working hard on making this a community instead of one author site, I do have a CMS that I build for this and it shouldn't be too hard to make this a community, it's just that I have to squeeze that in a full time and part time job, I made Bootsnipp thanks to being sick and absent from work for 2 days...

I appreciate your comments, please promote the site further and I will work hard on making it more personal to each of you.

bitdiffusion 7 days ago 0 replies      
Agreed - this is fantastic. Although the getbootstrap docs have some neat things in there - it's sometimes hard to differentiate what comes built-in vs. what has been customized for the docs (and to extract the doc-specific functionality can be tricky).
nicholassmith 7 days ago 1 reply      
Good idea and some really useful stuff in there. As there's no licensing notes I'm guessing they're under permissive, share and share alike with credit?
billirvine 7 days ago 2 replies      
Why is there a movement to make every quickly-made website look like dull white/blue with a hint of beige? This is madness.

"Hack away on an app and have it look halfway decent" is a very, very poor attitude that portrays laziness and a disdain for the user. Halfway decent is the same as halfway sucks.

ukoki 7 days ago 0 replies      
Great work! As someone who relies waaaay too much on Twitter Bootstrap this is really useful - now to get round to adding my own Bootstrap idioms.
chrisfarms 7 days ago 1 reply      
Nice idea... would love to see it work a bit more like patterntap[1] where we could add our own snippets.

Allowing CSS/LESS (with a guideline to only use the built-in color variables) could be really cool too " I'll often have to add one or two lines of CSS to tweak a nice component.

[1] http://patterntap.com/

efields 7 days ago 1 reply      
Great work. I'd love to see these as TextExpander snippets. I might go ahead and do this this weekend…

EDIT: A thought I forgot:

I used to be a Bootstrap hater, but now I'm quite enamored with the project since a good SASS port has been maintained.

Bootstrap's biggest accomplishment (aside from its mere existence) is that it placed in the hands of a lot of different people " devs, designers, newbies, etc " a collection of modular css patterns and clean, semantic markup examples, like the ones you see on this link.

"But your markup shouldn't be littered with presentation classes!!!" " Bullshit. Your markup definitely shouldn't look like the mess of classes you find in Drupal output, but <div class="navbar">…<ul class="nav"> are a sane way to markup page elements. These classes say what the elements are, and could be styled an infinite number of ways depending on what kind of device its displayed on.

Likewise, Bootstrap's CSS is an excellent way to learn modular CSS patterns. ".dropdown {}, .dropdown-menu {}" is a much better approach than something like ".dropdown ul". What if that UL changes? "UL is a lousy element here!" says a future dev on the team.

I'll agree that .pull-left and .span-9 are terrible, but not everything's perfect. It'd have to use SASS instead of LESS before it was perfect, anyway ducks.

jenius 7 days ago 6 replies      
This makes me want to cry. What happened to design and having a good-looking and creative interface?
baseh 7 days ago 1 reply      
Here is another similar project though its Sublime text editor targeted.


I wish there was a way to auto-convert these snippets for popular text editors. Somehow copy-pasting html from web-pages sounds so... 20th century.

aaronbrethorst 7 days ago 1 reply      
Neat! Please add Haml as an output format for your HTML snippets.
ryangallen 7 days ago 1 reply      
Bootstrap is great but I'm worried that it's style is getting overused and tired like a pop song on FM radio.
rodolphoarruda 7 days ago 0 replies      
I like the progress bar example... its fun is a real eye catcher
draz 7 days ago 1 reply      
suggestion: it would be nice if people could request examples, and others could submit code snippets
conradfr 7 days ago 0 replies      
Not bad.

Never thought of doing the buttons on page 2 with an icon on top and a text underneath.

jarsj 7 days ago 1 reply      
This is good. Can you add some voting thingie. There is a lot of trivial stuff, easily available on the bootstrap documentation itself.
philjones88 7 days ago 0 replies      
Really useful site, especially for those developers like myself that are "design challenged" :)
drstk 7 days ago 1 reply      
I was JUST looking for something like this yesterday. Could become very useful if you keep at it, I'll definitely be checking back from time to time. One minor nitpick: perhaps normalize the height of your snippets in the main grid view?
nodesocket 7 days ago 0 replies      
Really nice, and some great snips already added. Would love to see additional login snippets.
cduser 7 days ago 1 reply      
This is great, but why am I not able to add snippets?
BaconJuice 6 days ago 0 replies      
Great site, thank you!
Anonymous Donor Pays for College of Every Student in Kalamazoo nytimes.com
312 points by unfoldedorigami  8 days ago   120 comments top 24
kevinconroy 7 days ago 0 replies      
From Wikipedia:

"To receive a full scholarship, students must have attended Kalamazoo public schools since kindergarten. The program, unveiled at a November 10, 2005, Kalamazoo Board of Education meeting, is also viewed as an economic development tool for Kalamazoo. Since the Kalamazoo Promise was announced, enrollment in the school district has grown by 16%, test scores have improved, and a greater proportion of high-school graduates are attending college. In 2010 alone, the Kalamazoo Public School district saw enrollment rise 3% to 12,409."

Have to be there K-12 to get full tuition. There's a chart that shows the sliding scale based on your length of attendance. Most interesting part is that if you move in for the tail end of high school you get 0% covered to prevent people from temporarily joining the community just for the tuition.

  Attendance -> Proportion of full tuition
K"12 100%
1"12 95%
2"12 95%
3"12 95%
4"12 90%
5"12 85%
6"12 80%
7"12 75%
8"12 70%
9"12 65%
10"12 None
11"12 None
12 None


EDIT: Added table.

tokenadult 7 days ago 1 reply      
"The Promise was created against a backdrop of recent economic thought that considers investment in education better than nearly every other kind of developmental effort when it comes to promoting economic growth."

That's the kind of thinking that turned east Asia from a place of wretched poverty to a place of wealth in my lifetime.

alttag 8 days ago  replies      
Wow. That's neat.

I once had a conversation with a state legislator where he argued it wasn't the responsibility of government to provide grant and loan opportunities for higher education, and that by doing so, the federal government was disincentivizing saving and investing. Instead, he argued universities should be more market driven (which I will concede might introduce more price competition in the face of rapidly rising tuition rates). He was a firm believer that a university education should be something one works and sacrifices for.

In my elected position with public education at the time, I disagreed (and still disagree) with some of his claims, believing a subsidized higher education experience for a expanded pool of people is a long-term net gain compared to crime/prison costs and the cost of government-funded social safety net programs. (Although, again, college-student families admittedly qualify for most government assistance programs already, but this is hopefully a short-term rather than lifetime dependence.)

I'd love to see the long-term effects on the quality of life, debt, and employment prospects of these students.

unfoldedorigami 8 days ago 0 replies      
What's fascinating to me is that because it prevented the surrounding communities from growing at the expense of Kalamazoo, those districts invested even more in their schools and education infrastructure to compete with the city with The Promise. I would have predicted the exact opposite. Super interesting.
femto 7 days ago 2 replies      
On the assumption this is a good thing, let's say every town/state rolls such a scheme out. Now every student in the nation is having their tuition paid. It's also costing about the same amount as if the government levied taxes and paid the costs.

A negative, compared to government funding, is that the economy has lost mobility of labour. Getting a full scholarship requires the child to be enrolled from K-12. Loss of mobility might be a good thing, in that it prompts people to improve their local economy, rather than run away. Alternatively, it could lock people into a form of serfdom, unable to move to better their situation.

I'd advocate that a voucher system, whereby the government gives each student a voucher for the degree of their choice, would be preferable to the widespread adoption of "the promise".

beloch 7 days ago 2 replies      
I'd say the kids of Kalamazoo could use a break given the kind of stuff they have to deal with.


Note: The above Kalamazoo sheriff is probably not quite as paranoid as the story suggests since Kalamzoo has a murder rate almost 7 times higher than Calgary despite being roughtly 1/14'th the size. If Kalamazoo is that dangerous, it's natural to assume a much bigger city would be even more dangerous. Still, that's one sheriff I wouldn't want to run into in a Kalamazoo park, let alone a dark alley!

mahmud 8 days ago 6 replies      
What would be the unintended negative consequences of this?

It reminds me of the story of a West African king who went on a pilgrimage to Mecca. On his way to Arabia, the king gifted so much gold to all intervening communities that the price of gold crashed, taking with it the economies of North Africa and Arabia.

steiza 7 days ago 1 reply      
Only now as an adult, having grown up in southwest Michigan, do I appreciate how unusual the region is.

The amount of culture and philanthropy in area is very high considering the population. In Kalamazoo there's the Kalamazoo Area Math and Science Center (thank you Upjohn family), the Gilmore Keyboard Festival (thank you Gilmore family), the philanthropic work of the Stryker family, ... the list goes on and on.

About an hour north of Kalamazoo is Grand Rapids, another major Michigan metro area, which is also defined by philanthropy: Art Prize (thank you DeVos family) and the Fredrick Meijer sculpture park (thank you Meijer family), just to name a few.

Are all towns in the United States like this?

thewordis 8 days ago 0 replies      
I went to college there and live one city over (25 minute drive). There are a lot of wealthy people living in the area, multimillionaires in the suburbs, but also a lot of poverty. A _lot_ of poverty. I'm glad to see someone trying something new, even on such a small scale. I was almost tempted to look for housing within the Kzoo city limits because of the Promise, but I don't plan on having children any time soon. We need more such experiments and resultant data.
tete 7 days ago 0 replies      
Coming from a European country where we still have free university I think it's a good thing. Sadly things are changing. Now there are limitations, first universities where you have to pay and ever since this was introduced you can follow how the rankings fall and fall.

Note for people from the US: College/University is harder to attend to (graduating from high school is harder) and it's also harder to stay in there (or not take long), so it's still not like everyone can attend it which sucks, because the reason may besides personal problems may be the fact that you are not good at something you won't ever need again anyway. Also on personal experience stuff like math is completely different at college anyway, if you study CS.

sukuriant 8 days ago 3 replies      
And now. Whatever you do. No. Whatever. You. Do. Do. NOT. Turn back on this promise. Make it happen. No ifs, ands, or buts. Period.

And colleges. If somehow, something terrible happens, and the money stops coming in. Let those kids finish for free anyway. Anything less is the newest worst thing that could happen to these kids and then adults.

[edit: I am curious about the downvotes. From what I gathered, the people that these donors have chosen to help are the downtrodden of this area. Much of their life may have been spent in a world of people not fulfilling their world. Fathers leaving, etc. The last thing these kids need is for yet another promise to be left unfulfilled, be it by red-tape or just some series of unfortunate events. Despite that, these children need to have the results of the promise fulfilled.]

szpilman 7 days ago 0 replies      
I usually let out some man-tears on especially touching movie scenes, book passages, music verses and family occasions, but I'm pretty much sure this is the first time I couldn't hold it while reading an article. At least 5 times.

"The Promise" sounds like some utopian sci-fi plot, and the childrens' thank you notes for their unseen benefactors are more than heartwarming. These kind of investments that empower and multiply their effects are the farthest reaching long-term, and just brilliant.

Now I want to be a billionaire.

rmason 7 days ago 2 replies      
FYI Kalamazoo has three venture capital firms whereas to my knowledge Grand Rapids and Lansing have none. In fact until a few years ago there weren't any VC's in the Detroit city limits.
kqr2 7 days ago 1 reply      
Actually, it's donors (plural). They are collectively called the Kalamazoo Promise.


Dylan16807 7 days ago 1 reply      
With every added student, the school district gets another $7,250 from the state.

That's per year, right? That's very close to the $4,200/semester number. So the college payments are almost equivalent to extending education from K12 to K16. That means that this could be done, even without donations, across the country.

MikeCapone 7 days ago 1 reply      
If I had to guess at a glance, I'd say maybe Chuck Feeney:


wtvanhest 8 days ago 1 reply      
Scott's Tots?
dkroy 8 days ago 0 replies      
I am very jealous of these students, I entered my post college life in the hole like many other students. Luckily, the tech world is in a completely different state than the rest of the job world when it comes to looking for a place to practice your profession.
gwern 7 days ago 0 replies      
Interesting how little effect they describe it as having on teen pregnancy and dropout rates.
jeffpersonified 7 days ago 0 replies      
Having grown up in Michigan, this isn't anything particularly new. Kalamazoo has been at this for a while (perhaps the donor), and although it's phenomenal, I'm surprised it's at the top of HN.
grandalf 7 days ago 0 replies      
I wonder if Anonymous is taking credit for this.
carioca3 7 days ago 3 replies      
Anonymous? If memory serves me right it is the Stryker family that provides the scholarships.
jedmeyers 6 days ago 0 replies      
Scott's Tots
humanfromearth 7 days ago 0 replies      
It was batman!
iPhone 5 web teardown: How Apple compresses video using JPEG, JSON, and canvas docs.google.com
306 points by dbloom  4 days ago   115 comments top 32
jasonkester 4 days ago 3 replies      
Nice to see they're getting bit by their own decisions.

They've gone out of their way to ensure that you can't ever play an Audio/Video clip automatically on page load in iOS Safari. Every new iOS release for the first few years included a patch to kill any new workarounds that let you do so. (Curse you iOS 4.3 for taking away our simulated clicks.)

But now they have a use case of their own that needs it, so they invent the mother of all workarounds. And now the rest of us will start using it. And it will become the "standard" way to run video on iOS Safari.

Then they'll kill it off for iOS 7. Then they'll have to come up with an even crazier workaround so that they can render their own website a few months later.

Fascinating to watch this play out.

codeka 4 days ago 3 replies      
I'm not sure if I should be impressed by this. From a technical standpoint, it seems quite clever and unique, but it also seems like a lot of work just to avoid using a <video> tag.
dangrossman 4 days ago 3 replies      
> Apple's website needs to work on all major browsers

That doesn't seem true. The second-most-prominent links on the iPhone and iPad sites are to videos that only play in Quicktime. If they wanted the site to work everywhere, they'd use a format those browsers can natively play.

droithomme 4 days ago 0 replies      
Great analysis, very interesting.

Obviously this is absurd overengineering.

And, despite the assumed total cross-browser compatibility claimed, I found that the video wouldn't play in any browser available to me, despite pinning the CPUs on my computer while just sitting there doing nothing.

jp_sc 4 days ago 3 replies      
Sublime Text was already doing the same with the big animation of its home page: http://www.sublimetext.com/
(you can actually see three animations there, depending if you use Windows, Linux or Mac).

What I'm really curious about is how those images are being generated. Is there a tool already available for that?

Jayasimhan 4 days ago 0 replies      
This whole implementation could just have been someone's weekend hobby that made it to production. Remember how Apple got its intel based macs? http://qr.ae/8eDNG

Just want to mention it before we blurt out the obvious over-engineering argument. ;)

kevinburke 4 days ago 3 replies      
Speaking of Apple website updates, I am surprised that they have never offered a responsive design for their apple.com site where you buy iPhones and iPads. Every app they make is designed differently for the phone or the iPad, but not the website.
dflock 4 days ago 0 replies      
It's a shame webkit never implemented the Animated PNG extensions and that no browser supports MNG:


This would probably some of what people want here.

brown9-2 4 days ago 1 reply      
As a side note, publishing this on Google Docs is an interesting choice by the author - alleviates any need to worry about load from the piece becoming popular, but it almost makes it an anonymous article.
tisme 4 days ago 1 reply      
Maybe they should have used flash instead. That would have given them a higher percentage of successful deliveries than this solution.
zachwill 4 days ago 0 replies      
Nice teardown. Knew they were using a <canvas> tag, but didn't dive deep enough see how they were using Base64 and decoding the frames. Thanks for writing this up.
mmmmax 4 days ago 2 replies      
Keep in mind that Apple outsources a lot of this front-end work to their agency, TBWA/Chiat/Day Media Arts Lab. As a services firm they have less incentive to use standards created by Apple, though I think they do really great work.
firefoxman1 4 days ago 1 reply      
After reading this article I still don't have a clear idea of how they did the animation. It seems pretty in-depth technically, but the overall execution is still a mystery.

For example, how does the _frames array of base64 data related to the two unlock_00X.jpg files? All it says is "The "unlock_manifest.json" file specifies how the updated parts are positioned."

wullon 3 days ago 0 replies      
Very interesting.
Looks like some oldschool video game developers got into Apple webdev team.

About the last paragraph, we (Adinpsz) tried the PNG compression technique for JS demomaking (actually it's even a self-loading PNG-HTML ;)).
You can learn more here with the JsExe tool: http://creativejs.com/2012/06/jsexe-javascript-compressor/
And see it in action here: http://pouet.net/prod.php?which=59071 http://adinpsz.org/online/fabrik/)

But HTTP compression should be better anyway for "real world" usecases?

Flenser 4 days ago 0 replies      
Isn't this the same as Clipstream[1]? The company that developed it has filed for patent[2]. I wonder if Apple licensed the technology or came up with it themselves independently.

[1] http://news.ycombinator.com/item?id=4419345

[2] http://www.dsny.com/HTML5

nachteilig 4 days ago 0 replies      
I really like that Apple is willing to experiment and push the envelope on their corporate site. Very refreshing.
bencevans 4 days ago 1 reply      
This idea is also in use at http://www.sublimetext.com/ The demo is using this technique because streaming video would actually take more bandwidth in this case as only bits of the image are actually changing at one time/incremental changes. It works a treat!
tambourine_man 4 days ago 0 replies      
I doubt iOS is the reason they went through all this trouble. The performance even on the iPhone 4S is miserable.
xentronium 4 days ago 0 replies      
> You can see this in action on the Retina Macbook Pro "Features" page -- which loads about 5MB of JPEG images (using lots of separate HTTP requests) just for that 2 second effect.

I immediately thought of web1.0 sites of 1990-s, with lots of animated gifs floating around. Weird times.

squarecat 4 days ago 0 replies      
OK, so this would be one of those instances where I support a headline rewrite for clarification. The iPhone connection is incidental and I expected something entirely different.

This was more along the lines of, "How Apple reinvented/over-engineered the animated GIF"

fmntf 3 days ago 0 replies      
If someone is interested in creating animations in this way, I created a simple script which converts videos in PNG/JSON/canvas:


bkorte 4 days ago 1 reply      
Man, I wish there was a library to help us normal folk do similar things. The ability to do small video on mobile would rock.
n-gauge 4 days ago 0 replies      
Regarding the retina loupe effect demo this has been done a while back - using css and an image for the loupe edge. Picks up mouse and touch events. Even works on older browsers.


thomasfl 4 days ago 0 replies      
Still none of the pages on apple.com are made for small mobile screens. Only exception is the iPhone manual.
federicoweber 4 days ago 0 replies      
This is brilliant, maybe overpowered but brilliant.
But the thing I cannot stand is the use of images for text.
I would have preferred to se the use of @font-face with fallback to images for old browsers.
xyz_ak 4 days ago 0 replies      
Very interesting and kind of absurd. Why didn't they simply recreate the animation with moving sprites instead of taking the "video" approach?
mihaipocorschi 4 days ago 0 replies      
Apple has a way of hiding new web tech in plain sight. Otherwise very good write-up. Thumbs up.
BigBadaboom 3 days ago 0 replies      
I see a lot of comments describing this as new and unique. Hardly. Video compression by using image diffs and run-length encoding has been around since the 80s. In fact this is more-or-less the technique that Quicktime's first codec, "Cinepak", used.
aniketawati 4 days ago 0 replies      
There could another simpler way. NoVnc + tightpng encoding. Create and record a high framerate VNC session to desired video. Tweak no vnc to receive data from local callbacks and replay the recorded data.
foooooooo 3 days ago 0 replies      
when you browse istore from an android device they added programmatic wiggle and jerk when you scroll the screenshots for an app. It's hilarious because android jerking wasn't that consistent. to make it authentic they needed to add randomness to it.
effinjames 4 days ago 0 replies      
this is so useless
fidz 4 days ago 2 replies      
In short, Apple don't want their demo videos to be easily downloaded and viewed?
Stock Android Isn't Perfect: Things I Can't Stand About Jelly Bean androidpolice.com
305 points by e1ven  3 days ago   194 comments top 34
notJim 3 days ago 7 replies      
I have both a "new iPad" and an Android Phone (an HTC G2, which is stuck in Gingerbread and is not exactly in its prime.) I am a fairly simple user of both of these: I use a few apps (Twitter and Yelp come to mind, and an app to read reddit) and the stock apps (Google Maps especially on the phone, the browser on both.) Here is my perspective on the two: it doesn't actually matter that much.

With iOS, everything looks pretty good and there's a lot of consistency. The browser, I understand, is much better than the browser on my phone (I'm not sure how it stacks up against Chrome for Android, which is not available to me.) But then, iOS is kind of annoying too: the keyboard placement often gets in the way of text fields, there is zero integration in between apps and no way for an app to provide a common service, I have to log in to everything separately. It's very difficult to move within a word (for example, if I typed fold instead of food, it is difficult to change the l to an o.) Every app has its own embedded web browser, which invariably has slight different controls than every other apps embedded web browser. Settings are sometimes bafflingly hidden in some other settings app, rather than being in the actual app you're using. Those things annoy me slightly, but they don't bother me that much when I'm using the device, because when I'm using the device, I'm focused on the task at hand and the device doesn't confuse me enough that it breaks my concentration. This is easy to understand because, as I mentioned, I do pretty simple things on my iPad.

With Android, apps can provide common services ("Android intents") and they integrate well with one another. There's a back button to move between apps, so apps don't need to do things like embed their own web browser. There's a little nub that I can use to move within a word, so correcting text is much easier. I can use a custom keyboard that is better than both the iOS keyboard (which is admittedly very good), and better than the built-in Android keyboard (which is pretty good, but doesn't have very good autocorrect.) But the thing with Android is that up until recently, it's been very plain and even ugly by default. The default look of an app is pretty ugly (just white text on a black background) so developers seem to try to implement their own style, with varying degrees of success. When the back button works, it's a godsend, but when it doesn't it's really fucking confusing. Animations are often choppy. But mostly none of this actually matters that much, because when I'm using the device, I'm focused on the task at hand and the device doesn't confuse me enough that it breaks my concentration. This is easy to understand because, as I mentioned, I do pretty simple things on my Android device.

guelo 3 days ago 5 replies      
The back button in previous Androids was mostly fine with a few overloaded functions that led to some understandable inconsistencies. It might get stuck going backwards in the browser or it might dismiss a dialog or keyboard instead of going to the previous screen, but the annoyances were minor.

To fix this they inexplicably added a second iOS-style header back button (which is called Up even though it is normally shown with a left pointer). The combination of two back buttons and the difficulty of understanding it, even for developers who have read the long style guide[1], is an absolutely baffling design decision. There is no way that users can intuitively learn what these buttons do. Add the inconsistent implementations and it's a usability nightmare.

[1] http://developer.android.com/design/patterns/navigation.html

vibrunazo 2 days ago 2 replies      
Such a shame, this is such a good article. A respectful adult discussion of real problems. From which we could have a great conversation about these issues, and better, brainstorm solutions. Which would be an incredibly fun and productive thing to do. Even Matias Duarte himself replied to the article.

After reading the article I clicked on the HN comments, excited, expecting to read insightful solutions I could never have came up with. But instead, 90% of the comments here on HN, including the top voted ones, are just childish attempts to show off how cool you are for cheer-leading for either iOS or Android more. This is so sad.

This place is in desperate need of more moderation. The ratio of active users/mods seem out of control.

daleharvey 3 days ago 5 replies      
The back button gets picked on a lot, and it is confusing.

However I am much happier having a consistently placed back button that works 90% of the time than not have one at all.

When using iOS I constantly run into very common and simple workflows like read email, check a link in email, press back to get back to email which quickly become fustrating especially when apps have incredibly wierd workarounds (like twitter embedding a terrible web browser to check links), even simple things like deactivating the keyboard / going back from dialogs and activities.

CamperBob2 3 days ago 5 replies      
I'd say my biggest complaint with Android is excessive use of cryptic icons with no way to tell what they do until I press them.

I'm pretty sure I forwarded some spam to some fairly important people the first time I tried to use Google Plus on my Galaxy Nexus. I still have no idea what I did, because I can't read hieroglyphics. I don't have time to look for documentation or tutorials that probably don't exist anyway, so I'm basically afraid to explore the app any further. An app that instantly and irreversibly alters the state of a remote process is not a good place to rely on discoverability, no matter if it's for social networking or nuclear reaction control.

In general, things that are supposed to be "intuitive" need to be spelled out for the benefit of us slow folk to a greater extent than the designers at Google believe.

jellicle 2 days ago 3 replies      
For some reason no one has remarked on one of my biggest problems with Jelly Bean - that Google no longer lets you opt-out of being tracked. There are two location services, which used to be called coarse (uses names of nearby Wifi networks and such) and fine (GPS). Google now won't let you use coarse without also opting in to having your location sent to Google at all times, whether you are using any application or not. So, for example, Google Maps doesn't work unless you opt in to being tracked at all times. Google Now doesn't work at all unless you opt-in to being tracked at all times. Etc.

In prior versions of Android, being tracked 24/7/365 was a separate checkbox you could opt out of while retaining full location functionality when you desired it, e.g. for Google Maps. No longer.

No one in the press seems to have picked up on this unadvertised feature change of Jelly Bean.

emehrkay 3 days ago 6 replies      
As an ios user since 08, the nexus7 needs a lot of comparative polish.

* The keyboard doesnt always pop up when you're in a text field.

* What's the deal with font rendering in Chrome? Some links appear bigger than others (on hackernews and reddit).

* Hitting an actual link is like choosing a first square in Minesweeper, sometimes it works, but most of the time it either misfires or opens the enlarge modal.

* There seems to be inconsistent feedback that a link was actually tapped in Chrome.

* The built-in apps lack any real contrast.

* The default google apps only seem to play content from the play store. I cant get the book reader to open anything so I had to try 10 different ebook readers leaving me in a situation of read some here, read some there. Why wouldnt google want it to open epub like ibooks does?

* The software home button is very frustrating. Miss the spacebar, Im going to the home screen

* Who thought that power + volume down is the best way to take a screenshot? It is very hard to do

There are other little things that escape me at the moment. The device is great though, and if I didnt have such a history with ios, id probably think it was the best that could be offered. Luckily for us the gripes that I have seem to be minor in the grad scheme of things. My main advice (to you googlers reading) would be to choose a default setup that is what you guys consider the best of the best and still let the tweekers tweak.

Oh and I feel that a small ipad would easily eat the nexus7's lunch

j_baker 3 days ago 2 replies      
The back button issue for me is the biggest one. The back button is such a useful thing to have, but the inconsistency of its behavior is sometimes mind-boggling.
HyprMusic 3 days ago 1 reply      
You all dismiss these as things as minor annoyances, but you're missing the main point. It's these details that separate a brilliant user experience from a poor one.

Apply may have less features, and it may be less flexible. But it provides a nicer experience, because of these kind of levels of details. You pick it up and it works, it really does feel like magic.

I use both, and whilst my Android is considerably more powerful and has tonnes more features, the iPhone is just a pleasure to use (and I'm a Apple hating Google fanboy, so this pains me).

mikeevans 3 days ago 2 replies      
My main disagreement with these is regarding Google Voice.

>If this is a texting app, why is it called "Voice"?

Because it's not just a texting app. It does voicemail and "makes calls" as well. Otherwise, most of his other complaints are valid and inconsistent.

jaredcwhite 3 days ago 0 replies      
It's easy to nitpick little quirks in a platform's interface. iOS isn't quirk-free. I think a much larger problem is something this article only occasionally hints at (for example in the icon sizes section):

Android's design aesthetic still sucks!

Is it skeu-oriented like iOS? Not often but sometimes yes! Is it completely 2D minimalist like Metro-style? No, but sometimes yes. Is it futuristic/robot/Matrix? Yes, sometimes, but not always.

Jelly Bean (and ICS) certainly improve upon past versions, but the UI still looks like a big mishmash compiled from random submissions from a bunch of volunteer open-source designers. Nothing wrong with that in theory and no offense to volunteer open-source contributors, but we're talking about Google here and their flagship platform. I can forgive spit and polish when I check out Haiku OS or the latest bleeding-edge KDE distro, but Google and the companies commercially shipping Android devices should be held to a much higher standard. Laugh all you want about Apple shredding pixels in Passport in iOS6 but at least they're putting huge resources into crafting memorable experiences that delight users. What's delightful, memorable -- even whimsical -- about Android?

sirn 3 days ago 0 replies      
This is not exactly Jelly Bean's problem but it's one thing I can't stand. When you quickly scroll page and stop it using single tap, if that tap happens to fall onto tappable element (e.g. links), the element will be tapped. Both stock browser and Chrome has this behavior (which is extremely annoying).

Other thing is scroll bar, I can't understand why do all apps implements its own scrollbar. From my quick testing of stock apps in JB (CM10), Messages app has one, Email app has one and contact list has another one.

ZoFreX 2 days ago 0 replies      
A couple of notes:

* I think the inconsistent application switcher icon / app title display issue is due to intents. If you click an image in your GMail it uses the Gallery to display it, but you are still in the GMail app. At a technical level I understand what's going on but I think it either needs to make it clearer what's really going on (for example have the GMail title bar above the image, and have the intent embedded like an iFrame, as well as fixing the icon/screenshot issue), or spawn a new application to handle it (which, if the back button behaves as per the spec in that application, would be totally transparent to the user). Both of these approaches are similar to existing solutions in the desktop world so I think the familiarity would defuse the confusion.

* Icons - I like that the icons are all over the place, in style, size, shape etc. It's a common criticism from an aesthetic perspective, which I agree with, but from a usability perspective it makes it a hell of a lot easier to pick out my apps. I used to use Go Launcher with a theme to make everything a bit more iOS-like and one of the things it did was make all icons the same outline and size by generating coloured backgrounds on them. Obviously, this is far lower quality than actually having uniform icons designed by humans, but I found the lack of silhouette and size variation made them blur together more.

* Horizontal support - I don't know why, but some apps don't change based on the tilt sensor, and some do. My old Motorola had a dock and when I put it into it, it forced everything including the homescreen into landscape mode. If you have a custom launcher they usually have options to control whether or not the homescreen & launcher will go into horizontal mode or not, and on both devices I've tried this, if you allow the homescreen to go into horizontal mode everything else follows - including the dialler. This is the only point in the article that I would say is definitively incorrect.

barrkel 3 days ago 1 reply      
I can stand these pretty easily :)

The back button annoys me most in email apps - I think it's the stock Email app - when you scroll through all your unread email, and instead of doing an "up", it decides to go back through all the messages your just read. Meanwhile, it upsets me in other apps where, when I open a file from a file browser, and press back, it doesn't take me back to the file browser; it takes me "up" in the application that opened the file.

So this is the heart of the inconsistency. Sometimes I want up, and sometimes I want back. It's context and app dependent. I don't really see a way to do it right without letting apps fiddle with the stack.

Re icon size difference: I actually find this difference helpful in distinguishing one icon from another. On iOS, most icons are rounded squares, and are less visually distinctive. I had to go completely overboard with classification folders to make it easier for me to find stuff on my iPad.

A lot of the other points are QA polish. I don't disagree with many of them, but they don't really bother me either. On the multiplicity of messaging apps, I don't really see that as a problem either, since I don't use any of the Google ones apart from the SMS app when I'm forced to; I use WhatsApp instead (yes, insecurity, I know).

jsz0 3 days ago 1 reply      
My single biggest annoyance is the last of support for calendar invites. Android just doesn't know what to do with them. I have to save them, open a file manager, view them in a text editor, manually create calendar events. Things like that are why I still reach for the nearest iOS device whenever possible. I'm still not thrilled at the speed and smoothness of web browsing on Android either. On a Galaxy Nexus with either 4.0 or 4.1 zooming and scrolling often lags. Finally will they ever update the IMAP/POP client? No message threading? Not everyone uses GMail.
dlikhten 2 days ago 0 replies      
FWIW: In iOS, all icons are varying size, just they have that little border around it forcing all sizes to feel identical. Its a good trick.

BTW He forgot to mention: Why is it that on every fucking device out there the back button and menu button are placed in different locations? Like samsung = right, htc = left, google = left, samsung's evil twin = in the middle of the screen.

roryreiff 3 days ago 5 replies      
As an avid iOS user, every time I try and pick up an Android I experience the same types of issues. I wonder whether it actually is a lack of intuition, or that I am so locked into the iOS way that it ends up feeling foreign right from the start.

Re: the back button, I am curious how other mobile OSs handle this problem. An obvious solution would be that the OS forces a particular behaviour, but then again, you were referencing default apps with varying implementations. Having never worked with the Android SDK, I wonder if the behaviour is forced on 3rd party apps?

jpxxx 3 days ago  replies      
Every time I pick up an Android based phone it's always the same miserable first five minutes.

"Where are the apps? Is... Oh. Are these all of the apps or some of the apps? Where are all of the apps? Do I hit a button? Oh.. Oh, there's a browser. But why is it where it... do I drag this or something?"

"How do I stop making it putting squares on the faces in the pictures? Why would you do this? Is it in the Settings? Where is the settings? Is there one settings app? Is it in a menu? Do I tap something? Is it one of these hardware butto-OH where am I now?"

"How do I get this keyboard to go away? It shouldn't be up anymore. I hit enter. Didn't I? What the hell is this key with the arrow? Wait, is this "dismiss?" No.. do I touch the screen? Gotdamnit don't hit that I didn't want to hit that."

Even on a Galaxy S3 last week, it was the same experience. There's too much Old World UI in Android for my tastes.

ZeroGravitas 2 days ago 0 replies      
Most of these are valid, but he undermines his own case with some of them e.g. icons being the same size. That's a valid issue, but the Android guidelines are correct that using every pixel of height would look uneven. It is the same issue with capital letters, A should generally be taller than T so that they visually look equal in height. Dismissing this as "just eyeballing it" is favoring OCD-style logical consistency over actual user interface consistency, since icons with the same pixel height can look inconsistent to users.

Time for two of my favourite quotes "a foolish consistency is the hobgoblin of little minds", and "different isn't always better, but better is always different" and to note that this is the kind of article that Gruber used to write about OS X when Apple were rapidly evolving it in it's early days[1]. It seemed to me even then that it didn't recognize the tension between improving what's broken and keeping everything consistent.

[1]: http://daringfireball.net/2004/10/brushed-metal

ljf 2 days ago 0 replies      
One pet peeve of mine is when you set up a new Android phone. I've only done this once, but from Google Play it's pretty easy to find all the apps you've installed before. But after clicking one and installing it, you return to the app list at the top.

I know they meantion a different use case in the article, but this literally turns what should be a quick and pleasent task of getting your new phone going, into a killer. Maybe there is a better way of doing it, from their website? Whatever they should make it easier and clearer.

corporalagumbo 3 days ago 1 reply      
Great write-up. I'd love to do/see something similar for WP7.5 - if only it had screenshot support.
bsphil 3 days ago 2 replies      
Spent a lot of time nitpicking small issues, but he does pick it up with better points after the back button rant and latitude.

The horrendous lack of support for landscape views, G+ photos being stuck in my gallery (with a Picasa icon on top of it), soft button rotation, crappy contact pictures, and the 4 separate text messaging systems from Google.

Good list overall, I hope the next update (Kringle?) tries to enforce more uniformity in the UI and in Google Apps particularly.

sswezey 3 days ago 3 replies      
One I just noticed with the NS4G: there is no documentation on how to get to Google Now, they talk about the Galaxy Nexus, but never mention its predecessor. How do you get to it? The search button... swiping up does not work whatsoever.

And I HATE how my contacts are white and everything else is a dark grey to black theme.

laserDinosaur 2 days ago 0 replies      
My biggest gripe? The fact that they got rid of square menu boxes with icons for long thin rectangular labels. Try mashing "Dismiss" on your alarm at 5am when you need to hit a little thin bar on the screen. "Snooze" you pressed? NO! I meant to hit Dismiss! I understand that some menus now have too many options to fit into a grid of boxes, but it would be nice to have boxes for <5 options and rectangle labels for >5.
lnanek2 3 days ago 0 replies      
Interesting viewpoint. I know Google has said they did usability tests and found users didn't know what back would do a lot of the time and disliked it. Google's solution was to provide up navigation instead, which stays within the app. This is the < arrow at the top left of the standard action bar pattern now. I guess the original post had a point that back navigation could have been made more consistent as well, however.
CWIZO 2 days ago 0 replies      
Gmail on Android is especially bad when it comes to the back button: 1) you are in some app 2) a new email arrives and you open it trough the notification bar 3) you read the email and do whatever with it 4) hit back and you are staring at the home screen. Arghhh this one is driving me insane.
RivieraKid 2 days ago 0 replies      
Also icons in Action Bar don't have labels. The label appears after long-pressing the icon but vthe ast majority of users doesn't know this.
mikecane 3 days ago 2 replies      
Isn't Duarte -- formerly of Palm and webOS -- supposed to be the UI Dictator over at Google? So how does this stuff happen?
schme 2 days ago 0 replies      
One thing that has been bugging me in ICS and JB is how small textfields behave, especially in text-messages. I tend to write long sms's and occasionally want to change a word from the middle. The 'knob' the author mentions does a good job if I want to get back to the beginning, but I haven't found a way to scroll back to the middle with it. Rolling the typefield itself helps, but after doing that the knob is still very prone to getting me straight back to the beginning/end. Navigation in textfields feels awkward. If I'm scolding the wrong thing for the wrong reasons, do tell, I'd like to hear if it's just me or does someone else feel the same.
electic 2 days ago 0 replies      
I had a Jelly Bean phone and finally got rid of it because of this back button issue. Hate to say it, Apple might not have all the features under the sun, all the buttons, all the noises, all the icons, all the knobs, but whatever they have is done right and at the end of the day, that is what matters.
richardjordan 2 days ago 0 replies      
Jelly Bean push to the Samsung Galaxy Nexus also led to a bunch of charging problems which I'm not the only one to have, yet still cannot find solutions to.
peterwwillis 2 days ago 0 replies      
Do Google devs all work in silos? Is there any unified vision for how a 'product' should end up? Or is it just a race to push features into a general project plan and stamp a version on it?
tehaugmenter 2 days ago 0 replies      
I can't stand reading this guy's article. I've been an Android user for 3+ years. The functionality of the back button just comes natural to me at this point.

The back button has always moved from an inner screen of an app back to the main app screen. It's ALWAYS done that. If they were to "fix" it for people who can't figure that out, they'd piss of every day android users.

Scenario: Text message received, using a web browser currently. Bob says: "Hey did you remember to ask Joe about that thing?". What is your next move? You respond to Bob, and you hit _BACK_, scroll to Joe's thread, and ask Joe about that thing.

This is intended functionality. Translating that into a manual friendly context is not really that easy. The majority of people these days don't even read manuals. If you can't figure it out, then get an iOS device. I feel like the back button is pretty straight forward (irony).

89a 2 days ago 0 replies      
This OS is such a joke
New Apple maps app under fire from users bbc.com
297 points by option_greek  1 day ago   273 comments top 43
cletus 1 day ago  replies      
Since the passing of Steve Jobs there has understandably been a lot of speculation about what will happen to Apple given Steve's laser-like focus on user experience above almost all else. Some self-proclaimed "power users" did of course rail against the Apple ecosystem but like most things Apple does (did?) it was right most of the time for most users.

I've been an avid iPhone user since the iPhone 4 and have bought every iPad so far. iOS 6 may mark a turning point to me such that the 4S that I have now may well be my last iPhone. My phone for me is probably beyond anything else a way of getting places (ie maps). Even more than phone calls, SMS or the Internet.

I sympathize with the position that Apple wants to control the entire experience but I really am dumbfounded that they've sacrificed user experience to do it. So much so that I don't think I want to update to iOS 6.

When compared to Android, the one remaining pillar for the iPhone for me is battery life. The 4S simply trumps any Android I've used or witnessed to date. I typically have to charge my phone only every 2-3 days. The Droid I have (which admittedly was a terrible phone) is lucky to last a day. The Galaxy S3 is better but still...

I look forward to the next Android phone running out-of-the-box 4.1 (or whatever the latest release is at that point).

Apreche 1 day ago  replies      
Just add maps.google.com to your home screen. I was doing that even before the new iOS. It's better than the new Maps app or the old one. Bicycle directions!

Also, FYI, the previous Maps app did use Google Maps, but the app itself was written by Apple. I once was at a Google event and asked a Googler who works on Maps about it. They have been frustrated for years that they could not update that app when they added new features to Google Maps. I expect within a short time we will see an iOS Google Maps that is on par with the Android app.

tptacek 1 day ago 2 replies      
I like the new Maps app. I know it's objectively horrible and am not disputing any of the ironclad cases everyone else has made against it. All I'm saying is this: I punched in directions to Lao Sze Chuan in Chinatown last night, driving from Oak Park. I threw my phone on the passenger seat and drove. The sensible route it plotted for me was unworkable due to traffic, so I detoured through UIC campus. The moment I diverged from its route, without me doing anything, it replotted a new route, and then a series of new routes as I ignored those directions, until I got to Roosevelt and followed its directions the rest of the way there --- which were much better than the route I would have taken.

Obviously, I fall into a specific class of Maps user:

* Using directions primarily when I'm driving

* In a major city

But that's a big class of users and, so far, Maps is better for that use case. The Maps app from 10.5 was unusable for driving.

homosaur 1 day ago 1 reply      
I've been on IOS 6 since a few days after the beta came out and I can tell you that the new Maps is nearly worthless, especially if you've entered a decent amount of data into Google Maps. Yes the navigation sucks, yes there's other huge basic issues, but the killer for me is that I have over 270 starred places in Google Maps and without being able to get to that data, Apple's new option is nearly useless.

I don't want to gloss over how much the basics suck on this app, they suck profoundly. The bookmarks is the worst loss though. I have an iPhone for work but I'm very glad I no longer am under a personal iPhone contract because with the lack of features in IOS 6, I don't see how I'd ever go back to using an Apple phone full time.

adriand 1 day ago 5 replies      
I understand the experience may not be ideal (I haven't tried it out yet, either), but take a moment to reflect on what they actually did: in a little over a year Apple completely replaced one of iOS's core technologies, one that relies on a mind-bogglingly complex and astoundingly huge data set, and is now pushing this out to millions of devices.

Most of us know what it is like to have to launch something. Launching something is never easy. We frequently talk about the MVP here on HN as well. Apple has done the difficult work of launching their MVP. Now they can make it better. It may never be as good as Google Maps, but that doesn't mean it will always be terrible.

brudgers 1 day ago 1 reply      
It's just Apple's turn. It has been said many times, "It's an early version of an application Company X copied from another company. I'm sure Company X will improve it to a workable but inferior product in future versions."

The first debacle with their Maps app (not crediting OpenStreetMap.org) gave me the feeling that Apple doesn't really have experience with software and data at the scale upon which they are currently operating. Sometimes it looks as if they are using too many interns to write important code.

What is a concern is that there seems to be no grasp of the difference in responsibility a developer must recognize between GarageBand and a mapping application. Sure it is irritating if one's remix of Call me Maybe doesn't come out quite the intended way. But an appendicitis sufferer may die if they wind up five miles from the hospital.

oozcitak 1 day ago 1 reply      
There are localization issues as well. Some place names in Turkey appear to be transferred over from legacy windows-1254 code page (e.g. Avcılar displayed as Avcýlar) Some have replacement letters for certain characters (dotless i, ş, ç, ğ). For example, "Sık orman" (dense forest) became "Sik orman" (penis forest).

Overall (at least in Turkey) the legends appear to come from an old, low quality source.

marknutter 1 day ago 5 replies      
You know what else sucks on the iPhone? The notes app - That's why I use Evernote. And the tasks app - that's why I use Clear. And the mail app - that's why I use Gmail. And iBooks - which is why I use the Kindle app.

Point is, you can download an app that works better for you if you're not happy with Maps anymore, just like you could with all of the other built in Apple software. I think Apple really needed to control their own destiny with the Maps software, and most non-geeks are probably not going to notice that their Maps app is getting it's data from somewhere else now. They probably didn't realize it was coming from Google Maps in the first place.

ChuckMcM 1 day ago 0 replies      
I am reminded once again at how much it takes to put together a "maps" experience like Google Maps does. That Apple's initial version sucks rocks isn't particularly surprising, there is a lot of integration and a lot of data, the world is a really really big place. Its very hard for humans to curate it too.

Next up, Apple will get their own direct source of satellite imagery, then they will drive/fly around major towns getting direct information about local restrictions, then they will build a system which does nothing more than cross-connect and correlate GIS data from various sources and test for sanity. Perhaps they will create a crowd sourced tool for directly feeding map errors into the system to triage the worst areas.

Its a big undertaking.

saturdaysaint 1 day ago 1 reply      
Around me (SE Michigan) it's a huge improvement over both the old Maps app and any of the turn-by-turn iOS alternatives I've tried. Using Siri and saying "directions to..." any local business I can think of brings up turn-by-turn directions in a snap, and it looks great. Smooth animations, great fit and finish on the UI. I suspect that their European maps are of lower quality and/or the writer cherry-picked some entertaining but not terribly representative examples.
spitx 1 day ago 2 replies      
>Here in Manhattan, where I live, basic search by building names is profoundly degraded in Apple's maps search. "Bloomberg" doesn't find the Bloomberg Tower; on Google Maps it's the first result. Searching for its address "731 Lexington Avenue" yields that address on Lexington Avenue in Brooklyn. It's fine to think that perhaps I wanted the address in Bed-Stuy, but even appending "NY, NY" or "Manhattan, NY" still yields the Brooklyn address. Google maps has none of these comprehension issues. I understand this is due to Apple partnering with Tom Tom, whose maps are considered to be lower in quality than other players like Nokia, but I'm not informed enough to say with certainty whether that's the case.


Source: http://dashes.com/anil/2012/09/who-benefits-from-ios6s-crapp...

MattRogish 1 day ago 2 replies      
As a long-term Apple user/fan, I'm both incredibly disappointed and intensely optimistic with this change.

I've been using iOS6 since the first beta and saw the backlash coming. I think "Street View" is Google Maps' killer feature and no amount of "3D View" is going to replace the ability to virtually drive your route (or see the storefront, the turn you need to make, etc.).

On the other hand, Google has a habit of releasing amazingly disruptive products (maps, gmail, etc.) and then the pace of innovation of each app slows dramatically. What was the last "innovation" gmail did? Priority inbox? Buying Sparrow?

I'm optimistic this is the start of an arms race in the mapping area (Apple: please tackle email next); this needed to occur sooner rather than later. We don't know the circumstances of the switch (it seems equally likely that Google precipitated the change as Apple did) but given Apple's knack for taking a MVP and continually, doggedly improving it, I think the future is bright for iOS Mapping.

jusben1369 1 day ago 1 reply      
Poor old Tom Tom is completely on the back foot and trying to distance itself as far as it can without throwing a super major partner under the bus.
cstross 1 day ago 2 replies      
Another annoying loss; no pedestrian or cycle routes, as far as I can see.

As I'm mostly a pedestrian -- I have a car, but live in the centre of a dense city where parking is a nightmare, so I walk rather than driving if at all possible -- from my point of view, this is a major regression.

Karunamon 1 day ago 0 replies      
Not sure what the hell they were expecting to happen. You don't take an existing, working, mature, and proven solution and then replace it en masse with something unproven and untested.

This particular bit of sour grapes over Google is going to bite them in the arse.

bgarbiak 1 day ago 0 replies      
The greatest disappointment (for me) comes from the fact that free turn-by-turn navigation is not available for iPhone 4. That particular feature made me happy about Apple's switch from Google's to their own solution. I couldn't care less for Siri, flyover maps or panorama (seriously, that one is iPhone 4S+ too), but navigation? That's a deal breaker.
If Google won't provide this with their app I won't stick to iOS when my contract ends.
blinkingled 1 day ago 0 replies      
According to Gruber and Rafer Apple seems to have a plan : for this plan to work however, iOS users must keep using the inferior Apple maps and Google must stay away from giving them a chance to continue to use their own ones - that will make quality of Apple maps go up and Google maps go down - they will meet in 18 months.

Gotta admire people's willingness to stretch here :) But seriously I think Google will just release a Maps app for iOS sooner or later. They've done that with most of their apps - it may not be as good and functional as Android one but it doesn't have to - the bar has been lowered.

_delirium 1 day ago 2 replies      
The article ends on a strange note, essentially a guy complaining that his Google SEO doesn't carry over to the new Apple app?
toddmorey 1 day ago 1 reply      
The big problem I see is that Apple effectively removed street view from the iPhone as it's not even available in the mobile safari version of Google Maps.

I don't mind that they are working on their own maps, but I can't believe they couldn't have licensed Google maps for at least another year until their solution matured or offered some sort of advantage. The first iPhone brought the best mobile maps experience. The latest iPhone brings the worst.

To me, the real test is whether Apple will allow a map application from Google to coexist on the iPhone. I'm hoping they do. It's the right thing to do.

epaga 17 hours ago 0 replies      
In my mind, this will be the first major test of Tim Cook as a CEO. This is not "I get a bad signal if I hold the phone the wrong way". This is "my iPhone drove us to the wrong hospital so I wasn't able to say goodbye to my grandfather".

Problem is, I don't see what they are supposed to do except throwing massive amounts of money and manpower at the problem - but even that will take a long time to fix the major issues that are in iOS6 Maps.

It will be very interesting to see how they react to this problem.

jsz0 1 day ago 0 replies      
Apple's Maps have been good for me so far in the north east United States. I greatly prefer the UI of Apple's Maps to Navigation on Android which is way too cluttered IMO. I find it easier to get things done with Apple Maps especially with the way turn-by-turn is integrated with the pop-over notifications and lock-screen integration.
joelhooks 1 day ago 0 replies      
I've been using the maps and find them MUCH improved in the car. I wish I could turn off the voice prompts, but it is very usable and has got me where I'm going reliably.
eckyptang 1 day ago 0 replies      
Another plus for Microsoft/Nokia.

Windows Phone with Nokia Maps / Nokia Drive is actually really good and it's not about to disappear overnight.

andrewcooke 1 day ago 3 replies      
is this particularly bad in the uk? there's now a guardian article too - http://www.guardian.co.uk/technology/2012/sep/20/apple-maps-...
epo 1 day ago 0 replies      
You can't make an omelette ... It'll be interesting to see the pace of development of this vs Google's inevitable maps app.

The mapping must be updated OTA so won't require IOS refreshes to improve the quality. But for now this app is like the stereotypical bimbo, quite pretty to look at but also pretty useless.

psychotik 1 day ago 0 replies      
The Bing iOS app has transit and good mapping features. I'm surprised folks aren't using that as an alternative.
purephase 1 day ago 1 reply      
It seems like such an innocuous thing, but Maps can truly make or break a phone decision. There is no question that Android has a considerably better user experience when it comes to Maps given the lead that Google has. That being said, Apple certainly has the cash and time to devote to this and a better competitor (and more effort in OSM) means that we all win in a way. So it will be interesting to watch it play out.

One minor gripe with turn-by-turn. If I'm playing music/podcasts, I would have expected the volume to mute on the other media when driving directions are announced. Not so, it just turns into a garbled mess.

The compression on Siri kind of sucks too.

dkroy 1 day ago 0 replies      
As a developer this kind of update makes me happy since it might result in Apple giving up some of its mobile phone market share to Microsoft and Google. I would much rather develop in Java or C#, instead either struggle through Objective C or use a third party developer tool to avoid doing so. Although, as an iPhone user it makes me sad. The UX with the iPhone has been amazing. I chose to use this phone even though I dislike all that is apple, just because to me when it came to my user experience it was leaps and bounds ahead of any other. Now that one of my most used apps has been pushed out temporarily it kind of makes me nervous. I have even heard who have applied iOS6, have lost all of their photos, luckily since I rely on a few jailbroken apps had not updated.
uslic001 1 day ago 0 replies      
The new maps is way off. I took 4 pictures last night while fishing. When I looked at the gps data of where I caught the fish one was on land and three others were 4 miles off as they had me on the other end of the lake I was fishing on. Apple really messed up with this change.
lectrick 1 day ago 2 replies      
1) Go to maps.google.com in Safari on your iPhone or iPad

2) Hit Yes when it wants to know your location

3) Hit Yes when it pesters you to add it as an icon (for once, it's not bothering me). The icon is snazzy.

4) Enjoy your almost-as-good-as-the-app-was mobile Google Maps experience. Complete with transit directions. But, alas, no Street View.

JofArnold 1 day ago 0 replies      
Assuming Google releases an iOS Maps app, I'd much prefer them to do that and make regular updates than leave it to Apple just 3 times a year.
Having said that, the fact they didn't include an option just to save $1b a year is beyond absurd.
siri 1 day ago 0 replies      
I am using IOS 6 beta since last few months in India, it just gives the message directions could not be found even for a locations 100 meters away.
outworlder 1 day ago 1 reply      
>Users also reported missing local places, such as schools, or strange locations. Another screenshot showed a furniture museum that was apparently located in a river.

From a twitter account called @fake_iOS6maps ? Seriously, BBC?

NameNickHN 1 day ago 0 replies      
Apple probably underestimated the complexity of creating and providing useful maps. I read an article recently that explained how much effort Google puts into their maps. From what I understand, every map tile has been manually reviewed and reworked based on satellite images and the data from the Google street view cars. Google is years ahead of Apple with this. It'll take a while until Apple's maps are par with Google's.
scottschulthess 1 day ago 0 replies      
I find the new maps app really good, one of the best driving direction apps I've seen. It is an improvement over waze in UI and the enhance backgrounding is awesome.

Maybe not as feature rich as some of the alternatives, but what do you expect in a v1? They will iterate, though the yearly releases means it will take time but it will get there. In the mean time the app store provides a lot of options for users to replace lost functionality.

marklabedz 1 day ago 0 replies      
Is the experience any better when utilizing Siri as an interface? If you ask Siri for directions instead of relying on the built-in search functionality, is it any better or would both Siri and iOS maps query the same database?

Siri --> Address --> iOS nav via street address

liotier 1 day ago 2 replies      
Disappointed with the iOS 6 maps ? Why don't you give OpenStreetMap a try ? http://wiki.openstreetmap.org/wiki/IOS - it won't give you pretty satellite imagery, but maybe you'll like the maps.
epo 1 day ago 0 replies      
I wonder what the behind-the-scenes truth of this is? Apple must have known that their mapping solution wasn't ready for release.

Perhaps Google forced their hand or Google pulled the plug knowing that Apple would dump them eventually but weren't ready to do so quite yet. If so, then don't expect Google to offer a maps app for some time yet because it is to their advantage to let Apple stew.

bdreadz 1 day ago 0 replies      
Said it in another thread. maps.google.com in iOS. Bookmark to home screen.

To the people talking about this is a sign of Steve Jobs being gone. I'm sure he had his hand in wanting to get away from Google Maps. These types of things were still part of his plan. AppleTV (the none hobby version) is part of his plan. We haven't seen that. There is still a trail that Steve laid down we are walking on. It's more 5-10 years from now I imagine that will lack the touch. Maybe it is fading. It's still there though. imho.

caycep 1 day ago 0 replies      
from what i've seen, the real issue is probably the text parsing algorithms need work. I tried a few addresses - about 70% were correct. the ones that weren't just seemed like the algorithm wasn't recognizing town, state, etc
001sky 1 day ago 0 replies      
Satellite images of various locations, particularly in Scotland, are obscured by cloud.

--Satalite images obcured by clouds. TomTom=WTF.

labizaboffle 22 hours ago 0 replies      
Does anyone remember when Mapquest and then Google Maps first started? Bad directions, etc. was the norm.

The only thing that is wrong with Apple doing this is that they didn't release as "beta" and make a big deal about how users can turn on the "beta" switch to test the cool new things, or the "alpha" switch and get shit that might break their phone but gives them superpowers no other geek has.

sigzero 1 day ago 3 replies      
It's a one-dot-oh release. So that is the level of expectation that I am giving it.
The Apple Reaper coovtech.com
283 points by azcoastal  3 days ago   104 comments top 25
cooldeal 3 days ago  replies      
Well, I am just glad that Android, Windows Phone and Windows 8 store apps don't have this stupid restriction if you don't use their payment systems.

Walled garden and 30% forced cut of app sales is one thing, but a forced 30% cut of every in-app sale is like erecting a toll booth on all apps. Gruber's explanation of "Apple does it because it can, and the people complaining are just jealous that Apple can and they cannot" doesn't really fly.

This is one of the reasons that Apple is dragging its feet on making HTML5 web apps work on par with native apps, despite Jobs' anti-Flash memo two and a half years ago.

Edit: Sigh, looks like this submission is sinking on the HN front page due to people flagging it for it being anti-Apple. Be classy, HN.

psychotik 3 days ago 0 replies      
File an appeal with the App Review Appeal Board (or whatever it's called). It's pretty simple to do from iTunes Connect. Someone smarter than a robot will look into it and get back to you (my IAP appeal took ~14 days, but they did take precedent set by other apps into consideration and understood some nuanced arguments, so they might know what Stripe/Square etc are and how it matters
cageface 3 days ago 2 replies      
I changed the summary text of my apps to say that I disagreed with Apple's patent lawsuits and that I would be removing them from the app store once I'd had a chance to distribute updates to existing users for any issues with iOS 6.

The next day my apps disappeared from the store with no notice or explanation.

I will never invest in a platform with this kind of arbitrary, totalitarian control again. Goodbye & good riddance Apple & good luck with your silly joke of an IDE.

batista 3 days ago 4 replies      
"Apple: “If your app is cross-platform, then 11.2 does not apply and this problem goes away"
Me: "Really, so if I build an Android version and launch it, I'm good?"
Apple: "Yes”

Is the above right? Doesn't seem to hold. If it is so, why does the Kindle app still seem to obey the 11.2, despite being cross-platform?

spaghetti 3 days ago 4 replies      
Honest question: why hasn't Apple fixed this fucking stupid review process?

They have the resources to pay cheap reviewers who are probably better than this guy. I'm sure college kids with no job prospects would jump to "work at Apple" even if it's making $10/hour reviewing apps.

Why not allow all apps into the store as long as they pass some security checks done by Apple (no downloading executables etc)?

The current review process is just encouraging developers to look at alternatives. Android for starters. I'm even spending time learning about Firefox OS. If Apple would stop rejecting totally legit apps for "having limited entertainment value" when my Mixpanel analytics say otherwise I (unfortunately) wouldn't give a shit about Android or any other mobile OS.

thechut 3 days ago 2 replies      
I don't understand how it is possible that Stripe is not allowed to have this functionality but Square is. Certainly Square does not give 30% to Apple for every swipe.

The cross-platform bit is interesting though. This should send a clear message to developers that they should go with ANDROID FIRST.

eridius 3 days ago 4 replies      
There's an app review board. I'm not sure of the exact procedure for getting in contact with them, but it's basically the procedure for appealing a rejection like this. I think there's an email address somewhere in the developer portal.

Edit: This trend of running straight to social news sites (e.g. HN) whenever something goes wrong is very strange. There are processes in place for dealing with this problem, processes that thousands of people have used in the past. Why would you go complaining publicly before even attempting to resolve it using the normal methods?

hnriot 3 days ago 0 replies      
I hope Apple are reading this, possibly some of their trillions of cash dollars would be spent on hiring people that have heard of paypal or square. If they are in a decision making position, they should be equipped with the necessary skills to perform their job. This is inexcusable of a company that is so wrapped up in its mystique and brand image.
billycoover 2 days ago 0 replies      
Here's what I wrote in my appeal. I tried to speak in the most simple terms as possible. I hope it works:

The rejection states that "if the purchasable content, functionality, or services are intended to be used within the app, they must be purchased through IAP, within the app" - This is absolutely not the case. Pay Pad for Stripe allows USERS to accept payments from their customers with their iPhone & iPad. Nothing that the user is accepting payments for would be used within the app.

Pay Pad for Stripe is companion app to the Stripe API (http://www.stripe.com).

I am not selling anything inside of the app. There are no subscriptions inside of the app. There is no exchange of a fee or subscription money between myself and a Pay Pad for Stripe user. They cannot buy any content, products, or services from my while inside the app.

The most straight-forward way I can describe how someone might use Pay Pad for Stripe is this: My wife has a Stripe account which allows her to accept credit card payments. She downloads Pay Pad for Stripe so that she can manage her Stripe account and accept mobile payments. She takes our daughters to the local grocery store to sell girl-scout cookies. A customer of hers want's to buy a box of thin-mints. She uses Pay Pad for Stripe to take a credit card payment from the customer for those thin-min cookies.

That's it. The feature is identical to what you will find in the popular Square and Pay Pal apps. This is not in-app purchasing. This in enabling B2C business transactions. There is no money exchanged between myself and the Pay Pad for Stripe users.

rizumu 2 days ago 0 replies      
"He recites 11.2 to me. I again attempt to explain in detail how the app works, how Stripe works, and how we use Stripe with the various apps and products we have. He stands firm."

I once had this argument with a tech over a macbook apple care repair. My screen cable was broken, no display. They opened and found a coffe stain on the case from many months prior. He said I had water damage. I asked what part is damaged by the water. We must have went back and forth 20+ times on this detail. Nothing was damaged by the water, they found an old stain on the case!

After shipping it to them twice with no repair, finally I cleaned it out entirely with a qtip and took it to an authorized service center. Fortunately the tech there was able to negotiate the claim for the busted cable.

Was it because I already have a few apple care repairs and was near the end of my term? No, the phone operator was trained robotically to repeat the same nonsensical phrase ad infinitum.

larrik 3 days ago 0 replies      
My guide app was recently rejected for being "simply a book." Seriously. There's actually a "Books" section of the App Store (it's the first one, no less!).

My only recourse? Publish it on iBooks, which requires an ISBN. Also, I've never met anyone who's ever even opened the iBooks store.

billycoover 2 days ago 0 replies      
Update: Apple reached out to me about this incident. They've approved the app! http://itunes.apple.com/us/app/pay-pad-for-stripe-for-iphone...

I'll update the blog post in the morning with details.

robryan 3 days ago 2 replies      
I understand stripe and square if you aren't part of the SV echo chamber, but PayPal? Where does Apple find these reviewers?
tisme 3 days ago 0 replies      
One observation: The landlord gets to screw with their tenants at his whim, and you don't even have to expect minimum standards (such as basic intelligence) in your interaction with them. This is part and parcel of operating in a walled garden, and should be a conscious part of your decision making process when you work out if you want to work this way (or not).
dlokshin 3 days ago 2 replies      
Wait, so if I build something on Android and iPhone, I don't have to use Apple's in app purchase? I can use Stripe directly? Am I understanding this correctly?
scheff 3 days ago 1 reply      
I would have thought the solution is simple - release an extremely primitive Android app of the same name and splash screen that says "Coming soon", and report back to Apple "Yes, I have an Android version of my app."
stevewilhelm 2 days ago 0 replies      
Reality check: the iTunes Store sales represent 4% of Apple total revenue.

As long as there is a sufficient selection of movies, music, and apps to keep the iPhone compelling, Apple doesn't need to foster a "long tail" app catalogue.

gfodor 3 days ago 0 replies      
Its things like this that are going to put Apple on the feds' radar enough to cause them a lot of pain down the road.
pclark 3 days ago 2 replies      
just re-submit
jrochkind1 3 days ago 1 reply      
The REALLY weird thing is that "cross platform exemption."

This guy was NOT doing what that section of the ToS was meant to prohibit. But let's say someone else had an app that really was, that was doing in-app purchases without giving apple their 30% vigorish.... all you have to do is make it for Android too, and Apple will let you?


Does this really work?

wolfgke 3 days ago 0 replies      
Then don't do business with a dictator as Apple is. There have been enough cases of "creative interpretations" of Apple's guidelines, against which you have nearly no handle.

So you have to blame yourself.

realrocker 3 days ago 0 replies      
I up voted just to make him care about it. Is that an evil thing to do?
jopt 2 days ago 0 replies      
False negative. Has since been fixed.
michaelvillar 3 days ago 2 replies      
What's the feature exactly? :)

(Never heard of the multiplatform thing before.. seems like bullshit)

vonwaldek 2 days ago 1 reply      
i read your blog post and feel as though your product is worth while to continue spending time and effort on. i applaud efforts towards improvement
Elon Musk: "I would like to die on Mars" businessweek.com
280 points by kposehn  7 days ago   139 comments top 31
shawnee_ 7 days ago 2 replies      
On the assumption that people will be living on earth for some time, Musk is cooking up plans for something he calls the Hyperloop. He won't share specifics but says it's some sort of tube capable of taking someone from downtown San Francisco to Los Angeles in 30 minutes. He calls it a “fifth mode of transportation”"the previous four being train, plane, automobile, and boat. “What you want is something that never crashes, that's at least twice as fast as a plane, that's solar powered and that leaves right when you arrive, so there is no waiting for a specific departure time,” Musk says. His friends claim he's had a Hyperloop technological breakthrough over the summer. “I'd like to talk to the governor and president about it,” Musk continues. “Because the $60 billion bullet train they're proposing in California would be the slowest bullet train in the world at the highest cost per mile. They're going for records in all the wrong ways.” The cost of the SF-LA Hyperloop would be in the $6 billion range, he says.

The estimated cost projections for the bullet train project keep getting bigger. I've seen estimates as high as $68 billion: and that is for construction alone (not including maintenance, etc). If Elon Musk can come up with a better idea, I hope we can remove enough of the red tape (that incidentally makes endeavors like this so expensive) to at least let him try.

Bud 7 days ago 5 replies      
Now that Jobs is gone, Elon is probably the coolest guy in the world. Can't wait to see what he comes up with in the next 10-20 years.
codex 7 days ago 6 replies      
Given Mars' weak gravitational field, extremely low atmospheric pressure, lack of breathable oxygen, deathly cold temperatures, and weak magnetic field (leading to high levels of radiation), he may well get his wish. Many others will likely get this wish against their will.

If he would like to get a taste of realistic Martian colonization here on Earth, may I suggest living underground in a windowless tank, surrounded by a partial vacuum, next to a nuclear reactor.

mej10 7 days ago 3 replies      
How about... you know, not dying? At least in the foreseeable future.

You can do a lot more awesome engineering and science and exploration if you don't die after ~80 years.

juiceandjuice 7 days ago 1 reply      
It's statements like this that have made me seriously consider applying for a job at SpaceX.
AYBABTME 7 days ago 1 reply      
I recently discovered who Elon Musk was and I'm always astonished to read about him, and realize that he seems to have all the dreams that I have; plus the money, the wisdom and the experience to accomplish them.

I never had a model or a 'hero' in my life, but I find it hard to deny Elon this role. He's kind of imposing himself to me.

For some parts, he pisses me off. He doing it removes me the feeling that my dreams were mine. On the other sides, my pride motivates me to accept his theft as a challenge to try at surpassing him.

Now I'm only 25, so I guess I still have the time required to get on par, if I keep working hard enough.

jboggan 7 days ago 0 replies      
I have always told myself that ending my days on another planet will be an absolute definition of success for myself no matter what else I don't manage to accomplish. It's a sufficient but not necessary condition. In ten years I hope to be working in a business related to space exploration.
johnnyg 7 days ago 0 replies      
Yeah, you and me both Mr. Musk.
damoncali 7 days ago 1 reply      
Enough of the hero worship. If Musk gets on one of his rockets in 15 years and launches it towards Mars, he will certainly die. Long before he reaches Mars.

Yes, he's a great, fascinating man. I enjoy observing this stuff as much as the next guy. But Good God - stop slobbering on yourselves. This is marketing fluff of the highest order.

vannevar 7 days ago 2 replies      
I love what Musk is doing, but both of his current engineering successes---Space X and Tesla---involve building well-understood vehicles, just faster and at less cost than competitors. Doing entirely novel projects like a manned mission to Mars or some new kind of mass transportation system are orders of magnitude more difficult and uncertain, and I think he's grossly underestimating the time and cost for either of his more ambitious new goals. I'd like to see him make plain vanilla space transportation and electric cars into business successes comparable to PayPal before he moves on to Mars and Hyperloop.
rdl 7 days ago 3 replies      
I'd prefer to not die, but dying on Mars would be ok if dying is necessary.
gnarbarian 7 days ago 1 reply      
That can be done for far less than establishing a long term colony there.
it 7 days ago 2 replies      
Saying it that way makes it sound like a new retirement community. Why not say he would like to live on Mars? Maybe because it's a dead planet and not very livable.
photorized 7 days ago 1 reply      
Re: “Boeing just took $20 billion and 10 years to improve the efficiency of their planes by 10 percent. That's pretty lame. I have a design in mind for a vertical liftoff supersonic jet that would be a really big improvement.”

I respect what the guy has done. But a vertical liftoff supersonic jet is going to be more difficult than anything he had encountered, including rockets.

gtirloni 5 days ago 0 replies      
"SolarCity, where Musk is chairman of the board, is a player in the residential and commercial solar markets, with more than 28,000 customers, and is expected to go public imminently at a value of about $1.5 billion."

We're valuing crap, err FB, at $50 billion these days. Why is a company with actually something to offer to society getting valued at only $1.5bn ?

Zenst 6 days ago 0 replies      
For those who fiscaly are less likely to get to Mars and still wish to die on Mars can always read this and smile:


on another less serious note I believe the chap in this news item will beat him too it:


    Most people want to die in peace, but when you have to go to another planet to get peace then you just know noise polution has got a little bit out of hand.

kilroy123 7 days ago 1 reply      
I sure hope SpaceX ends up being a success. I also hope, if successful, they put a lot of money toward research on carbon nano tubes.

Hopefully, they or some other organization, could move towards building a space elevator sometime in the next 50-100 years.

JVIDEL 6 days ago 0 replies      
I would like to die on Mars, just not on impact.

Easy, remember a few years ago when some guys at NASA proposed that the first guys to Mars should be in their early 60s?

That's because getting there is not the problem, the problem are the copious amounts of radiation you would absorb on the way which means that even if you make it back you probably wont live much more.

So what those guys proposed was sending old astronauts on a one-way trip.

mherdeg 7 days ago 0 replies      
It always astonishes me that not only did Heinlein invent the Segway ("The Road Must Roll"), he also invented the idea of people like Elon Musk (as D.D. Harriman in "Requiem").
philhippus 7 days ago 1 reply      
I wonder if the Hyperloop is a maglev propulsion system contained within a vacuum tube? That would essentially be space travel - on earth. It would also allow for efficient use of energy, as long as the vacuum could be easily maintained.
sfriedrich 6 days ago 0 replies      
Go Elon! Big vision. Big execution. They ARE delivering. Get's my motor revving.
the_mitsuhiko 7 days ago 0 replies      
I think dying on mars can be accomplished in a reasonable timely manner. Living on mars however might be hard.
benl 7 days ago 0 replies      
"Hopefully not on impact"
autophil 7 days ago 1 reply      
I would like to die on Mars. Oh brother.

How come "shut up and just do it" applies to everyone but Elon? Why does he only have to talk about doing something to be hailed a hero?

Start backing some of this stuff up with action Elon.

greesil 7 days ago 0 replies      
Or maybe die on the way there.

McCoy: Don't pander to me, kid. One tiny crack in the hull, and our blood boils in thirteen seconds. Solar flare might crop up, cook us in our seats. And wait till you're sitting pretty with a case of Andorian shingles. See if you're still so relaxed when your eyeballs are bleeding! Space is disease and danger wrapped in darkness and silence.

Substitute Andorian shingles with just going crazy being cooped up in a tiny ship.

eckyptang 6 days ago 0 replies      
Conincidentally, I actually had a rather lucid dream about this a few nights ago. I can see it is possible even with today's technology to get there and stay there. It's just a matter of cost and inclination.

We need to send lots and lots of larger seed probes out there first though - not the limited scope probes and landers we're using now, but general purpose, long life scouting probes with engineering, tooling and life support payloads.

knodi 7 days ago 0 replies      
Don't worry Mr Musk, you won't have to die pretty soon.
wooptoo 7 days ago 0 replies      
At first I thought they were talking about Elop from Nokia and I thought to myself 'yap, we could send him to mars tomorrow'.
stickhandle 6 days ago 0 replies      
a man of my generation sees a little of the Larry Ellison swagger about Elon Musk. I hope he does more.
badcrowd-JG-IW 7 days ago 0 replies      
DJ Lee Kalt. Vergeet hulle bestaan.
ceejayoz 7 days ago 0 replies      
Even the most pessimistic climate change predictions don't have Mars being more habitable than Earth in any imaginable future.
Dropbox dives into CoffeeScript dropbox.com
280 points by varenc  8 days ago   193 comments top 21
crazygringo 8 days ago  replies      
Where I work, we moved the project I work on to CoffeeScript about a year ago, and I've been using it ever since.

Putting syntactic sugar aside, while some things are very welcome (list comprehensions, ===, ?), there are two main reasons why I would be wary of using CoffeeScript again:

1. Complete lack of documentation for syntax. Because there are basically no more braces and parentheses, CoffeeScript just tries to guess what you're doing, as far as I can tell, based on a bunch of internal heuristics. Unfortunately, there's no way for me to learn how to write parseable code without constantly pasting into the coffeescript.org site, and seeing if CoffeeScript understands it or not. This is the first language I've ever used where the syntax rules are essentially unknowable, and a lot of time gets wasted trying to discover them through trial and error.

2. Unexpected side effects. For example, functions return the last evaluated value by default. If you're using $.each(), and your function's last line is something that returns false (like a separate function you call), then your $.each() loop will terminate unexpectedly early, since jQuery does that when it receives a false. So CoffeeScript isn't just a wrapper around JavaScript, but it really changes its behavior. Another example: CoffeeScript gets rid of function hoisting. A significant JavaScript feature, completely gone.

I personally am slower to code in CoffeeScript, because I know JavaScript 100% inside and out, but with CoffeeScript that isn't really possible, because so much of its implementation is undocumented. I mean, many times you're forced to end a line with a backslash in order to continue it, and even the existence of that necessary feature isn't mentioned once in the docs.

But a lot of people seem to love the syntax, and that seems to outweigh the negatives for them. I personally don't find JavaScript that ugly, but coding in a language I can't ever fully understand gives me a huge headache.

jlongster 8 days ago  replies      
This sounds so much like some geeks wanting to hack. That's it. There isn't really a good reason to convert a codebase with tens of thousands of lines of code from js to CoffeeScript.

Not that there's anything wrong with that. But seriously, every single problem with javascript they mention is never a problem for javascript developers. You simply learn what's broken, and deal with it. Dealing with it is usually one line of code (or even less), making sure you just use ===, etc. It's really not a problem.

These kinds of posts smell a little like FUD to me, which is what I have a problem with.

sync 8 days ago 8 replies      
Big, big fan of CoffeeScript and glad to see Dropbox hopping aboard.

That being said, some of their examples are lackluster.

  @originalStyle = {}
for k in ['top', 'left', 'width', 'height']
@originalStyle[k] = @element.style[k]

Should really be something like:

  @originalStyle = ['top', 'left', 'width', 'height'].reduce (hash, position) -> 
hash[position] = @element.style[position]
, {}

... though that shows off some CoffeeScript warts.


  Sharing =
init: (sf_info) ->
for list in [sf_info.current, sf_info.past]
for info in list
@_decode_sort_key info

Why aren't they using CoffeeScript classes?

  class Sharing
constructor: (sfInfo) ->

supersillyus 8 days ago 6 replies      
I agree with them on the readability issue mostly, but I don't understand the preference for parens-less function calls, especially where there are arguments.

Maybe it's a matter of training, but

   @_update_status_position(e, files)

looks much clearer to me than

   @_update_status_position e, files

BadassFractal 8 days ago 1 reply      
I'm a little surprised by the number of negative comments in this thread accusing the three Dropbox engineers of wasting company time.
malandrew 8 days ago 0 replies      
You guys should use MD5 digests of files instead of mtime for file change comparison.

mtime works fine until you want to add other steps that are dependent on the mtime of ephemeral files occuring previously in your process. Steps such as minification, uglification and comparison for uploading to a CDN all become a bit more complex if mtime is used since every compile step has the tendency to modify mtime so recompilations cascade through the process causing at best unnecessary processing and at worst weird edge cases if the order of middleware isn't taken into account (the middleware issues can be avoided with precompilation before production.

aaronbrethorst 8 days ago 2 replies      
"I had to be done [with Javascript] in ten days or something worse than JS would have happened."

I've heard this quote from Eich several times now, but I've never heard what the "worse than JS" alternative would have been. Anyone know?

AndyKelley 8 days ago 0 replies      
The middle code example can further be broken down[2] by using coco[1] instead of coffee-script.


    this.originalStyle = {};
['top', 'left', 'width', 'height'].each(function (k) {
this.originalStyle[k] = this.element.style[k];


    @originalStyle = {}
for k in ['top', 'left', 'width', 'height']
@originalStyle[k] = @element.style[k]


    @originalStyle = @element.style{'top', 'left', 'width', 'height'}

coco also solves a rather nasty variable scoping issue[3]

[1]: https://github.com/satyr/coco/
[2]: http://satyr.github.com/cup/#c:@originalStyle%20=%20@element...
[3]: https://github.com/jashkenas/coffee-script/issues/712

geon 8 days ago 1 reply      
The first comparison is not fair. Audio is 1D, while code is 2D.

Obviously CoffeeScript is less cluttered, but JS is nowhere near as bad as the audio makes it sound.

dustingetz 8 days ago 0 replies      
the question that should motivate a change like this:

what does new-language let your team accomplish that you can't accomplish with old-language?

question isn't answered in post, the answer is probably somewhere along a 2x increase in the complexity the same team can handle. i dunno if it is worth disturbing an existing codebase and the QA cost of making sure you didn't introduce any defects. meh. where i work, we have maybe 100k lines of javascript, and its not really a problem other than lack of types when refactoring imperative code, nothing near the scope of the problem of Java's lack of higher order functions.

jackfoxy 8 days ago 0 replies      
Speaking as someone who has managed coders writing far more lines of javascript than I will ever write, this is a better articulation of my belief that javascript should be generated from another language (CoffeeScript being the leader) than I could ever propose. Thanks Dropbox! This post should be read by everyone who writes or manages those who write javascript.
bostonaholic 8 days ago 7 replies      
}); is not a line of code. Please stop counting it as such. Here's a good rule of thumb:

"If it can be moved to the line above, without any other changes, it's not its own line of code."

The argument that CoffeeScript saves countless }); }); } } is invalid, IMO. I would even argue that function definitions are not lines of code. Example: (ruby)

def foo

0 lines of code.

BTW, I'm not a CoffeeScript hater, just trying to level the playing field.

funkiee 8 days ago 0 replies      
It's nice to see some more prominent companies using CoffeeScript that people could point to if they ever wanted to convince their boss.

Did any of the other Dropbox employees have a hard lead-in time getting used to the syntax in CoffeeScript? Would you say you run into a lot fewer syntax errors when running validation now?

kevincennis 7 days ago 0 replies      
Wait, they're looking forward to "Native CoffeeScript support in browsers, so that during development, we can avoid the compilation to JavaScript altogether."?

Is there something I don't know about?

lucian303 8 days ago 1 reply      
"We've heard many arguments for and against debuggability, and in the end, we convinced ourselves that it's easy only after jumping in and trying it."

So, in other words, you have only your own opinion and at best one (1) anecdotal experience. Congratulations! You've failed to prove your point from a logical perspective, let alone anything more!

Ygg2 8 days ago 1 reply      
In our case, we avoided this problem entirely by instrumenting our server code: whenever someone reloads a Dropbox page running on their development server, it compare mtimes between .coffee files and compiled .js equivalents. Anything needing an update gets compiled.

I wonder how did they achieve this? Is this a feature of node.js or is this like an automated build system? I suspect the latter.

skilesare 7 days ago 0 replies      
I tell my prospective clients that if their contractors/employees are still programming in js then they are stealing from them.

Coffee Script is clearer, more concise, more maintainable. It has made me 5x more efficient in writing code (just the reduction in scrolling is a massive time savings) and I've seen similar results with my developers.

It takes about 2 days to learn and has a significant long term benefit. Switch.

seangransee 8 days ago 0 replies      
this is great news! for people who prefer python-like syntax, coffeescript is a no-brainer. sites like js2coffee.com make it really easy to make the transition.
MatthewPhillips 8 days ago 3 replies      

> Disclaimer: we love Python, and it's Dropbox's primary language, so we're probably biased.

dotborg 8 days ago 0 replies      
Ctrl+Shift+F - does it work with CoffeeScript in Eclipse?

oh wait, no semicolons :/

pjmlp 8 days ago 0 replies      
As I only use the native application, I can care less.
John Carmack on Static Code Analysis altdevblogaday.com
277 points by niyazpk  2 days ago   121 comments top 21
pnathan 2 days ago  replies      
A couple things:

- Competitors with Coverity are CodeSonar[1] and Klocwork[2]. I've not seen Klocwork output, but CodeSonar and Coverity are in the same area of quality, with differing strengths. I can not recommend static analysis highly enough if you have a C/C++/Java/C# database. It's very expensive (well into five figures according to Carmack), but how expensive is a bug? What if you have your entire codebase checked daily for bugs? Consider the effect on your quality culture. :-)

- The fact that you are paying "well into five figures" for a tool that essentially covers up design deficiencies in your language should start sounding alarm bells in your head. The proposition more or less goes, "To have reliable C++ code in certain areas, you need a static analyzer; to gain that same advantage in Haskell costs you nothing more than GHC". Of course Haskell doesn't have certain C/C++ capabilities; but it's worth meditating on for your next application, particularly if bugs are more important than performance. N.b- I don't know the ML family enough to say one way or the other in this regard. :-)

[1] http://www.grammatech.com

[2] http://www.klocwork.com

stcredzero 2 days ago 0 replies      
> We had a period where one of the projects accidentally got the static analysis option turned off for a few months, and when I noticed and re-enabled it, there were piles of new errors that had been introduced in the interim. Similarly, programmers working just on the PC or PS3 would check in faulty code and not realize it until they got a “broken 360 build” email report. These were demonstrations that the normal development operations were continuously producing these classes of errors, and /analyze was effectively shielding us from a lot of them.

Something which corroborates this: When penetration testers break into systems, they're often using new 0-day exploits. Think about that. Most of today's software development practice produces such a steady stream of low-level bugs, that penetration testers can assume that they're there!

> Trying to retrofit a substantial codebase to be clean at maximum levels in PC-Lint is probably futile. I did some “green field” programming where I slavishly made every picky lint comment go away, but it is more of an adjustment than most experienced C/C++ programmers are going to want to make. I still need to spend some time trying to determine the right set of warnings to enable to let us get the most benefit from PC-Lint.

This could be encouraged using game dynamics. Have a mechanism where a programmer can mark parts of the codebase "green-field." A programmer's "green-field score" consists of the number of lines of green-field code (or statements, whichever lousy metric you want) that he's successfully compiled with no warnings whatsoever. Combine this with random sampling code walkthroughs, which has many benefits but will also catch boilerplate, auto-generated, or copy-paste programming by a "Wally" who's trying to "write himself a new minivan."

santaragolabs 2 days ago 2 replies      
So I've dealt with dozens of Fortune-100 companies implementing and using static code analysis tools. They can and will help but in general I feel that these tools are not much more than the code-equivalent of the syntax- and grammar- checker in your word processing software.

I've been doing manual code reviews for a living now (mostly security related) for roughly 3 years now and while I get assisted from time to time by code analysis tools I still find heaps of bugs not caught by any of the tools mentioned by Carmack. The biggest issue for a development shop is to properly integrate these tools and to not overwhelm developers with too much false positives.

I've had cases where a developer got a 1500 page PDF spit out by one of these static analysis tools. After spending two weeks going through everything the developer ended up with 50 pages of actual bugs; the rest were describing false positives. Then I got on-site and I still logged dozens and dozens of security-related bugs that the static analysis tools failed to find.

Edit: also consider that one even needs a SAT solver to even do proper C-style preprocessor dependency checking. A lot of these code analysis tools are being run on debug builds only and then there when the release build is being made these tools are not being run meaning they fail to catch a lot of issues. It's insanely hard to write proper code analysis tools and static source code analysis tools which do not integrate with the compilation process I wouldn't trust at all.

Nowadays with clang there are very nice possibilities for someone to write your own simple checks and integrate them into the build process. But even clang doesn't expose everything about the preprocessor that you might want to have from a static code analysis perspective.

js2 2 days ago 0 replies      
(2011) Original HN discussion http://news.ycombinator.com/item?id=3388290
gaius 2 days ago 2 replies      
Microsoft feels that game quality on the 360 impacts them more than application quality on Windows does. :-)

Many a true word spoken in jest!

zwieback 2 days ago 0 replies      
The article mirrors my recent experience 100%. We've got a Coverity license and I've started using it recently. Luckily, our code base is relatively small, it's straight C and embedded (no mallocs, no OS). Even in this extremely simple environment it's shocking how many errors Coverity can ferret out.

The false-positives are a problem and the general advice to get started is to initially ignore all existing bugs and focus on avoiding adding new bugs. Then, when you get the hang of writing code that passes the checks you go back and look for the worst of the older bugs, etc.

egonschiele 2 days ago 2 replies      
I've been wanting something like this for Ruby for some time now. Since it's dynamically typed and ridiculously easy to monkey-patch, Ruby is a much harder challenge than C++. The two best efforts I
have found are Diamondback Ruby (http://www.cs.umd.edu/projects/PL/druby/) and Laser (http://carboni.ca/projects/p/laser)...but they mostly try to add static type-checking to Ruby code. After
looking at these I implemented a contracts library for Ruby (https://github.com/egonSchiele/contracts.ruby) to get myself some better dynamic checking. The next step is to use the annotations
for the contracts library to do better static code analysis. One thing I'm working on is generating tests automatically based on the contract annotations. But I've got a long way to go : ( If anyone
knows about other projects that are working on static analysis for Ruby I'd be very interested in hearing about them!
hsmyers 2 days ago 0 replies      
Having used PC-Lint almost all the way back to it's origins, I can testify to just how scary it is to run this on your code. Code you wrote as well as code written by teammates. In self defense, you HAVE to spend time tuning the system in terms of warnings and errors---otherwise you drown in a sea of depressing information. I liked John's comment about attempting 'green field' coding. It is a tremendously valuable process given the time. Great article, definite thumbs up.
cpeterso 2 days ago 1 reply      
FindBugs [1] is a great code analysis tool for Java. It's free, open source, and supports plugins for writing your own checks. The FindBugs site reports an interesting story from a Google test day:

"Google held a global "fixit" day using UMD's FindBugs static analysis tool for finding coding mistakes in Java software. More than 700 engineers ran FindBugs from dozens of offices.

Engineers have already submitted changes that made more than 1,100 of the 3,800 issues go away. Engineers filed more than 1,700 bug reports, of which 600 have already been marked as fixed. Work continues on addressing the issues raised by the fixit, and on supporting the integration of FindBugs into the software development process at Google."

[1] http://findbugs.sourceforge.net/

quaunaut 2 days ago 2 replies      
I'm a web developer interested in diving into graphics programming sometime in the next year, but this made me stop and wonder:

> If you aren't deeply frightened about all the additional issues raised by concurrency, you aren't thinking about it hard enough.

Why exactly is that?

estebank 2 days ago 0 replies      
It's a great article by an insightful individual.

If you haven't read it, do so.

You can read further discussion on this 270 days old article at http://news.ycombinator.com/item?id=3388290

mrich 2 days ago 0 replies      
For C/C++, also try just compiling with clang. It has great diagnostics. Also it has the static analyer whose C++ support just improved greatly in trunk.
dexen 2 days ago 3 replies      
Dear Lazyweb,

the `Controler' part of my main codebase consists of interwoven PHP and MySQL. Is there static analysis tool that understands both, one in relation to the other?

FredBrach 2 days ago 4 replies      
There have been plenty of hugely successful and highly regarded titles that were filled with bugs and crashed a lot

I think it's false, and a huge mistake. There is rare cases, but not plenty. Video games (I mean video games for core gamers) are products that demand first and above all quality to be successful. There is rather plenty of common games with a huge quality which become hits (Kingdom Rush for example or Starcraft which was finally kind of common in its time). One of the rules in the delovepment process at Blizzard is that they ship a game when it has less than 100 known bugs. Also, I would add that, it seems that, ID software did not make a successful games since Doom. Quake wasn't a commercial success, Quake2, Quake3, Doom3 and Rage neither (that's why ID software has been bought for only $100M). After all, ID Software lost one of its core value co-founder a long time ago (John Romero) who was responsible of the gameplay of ID's games...

Quality in video games are everything, that's really my opinion. It's also really an edge for every indy developper which want to start a company in this sector, cases are countless.

jaimefjorge 2 days ago 1 reply      
This article is one of the reason I created my tool: http://www.qamine.com

Qamine integrates directly with github and is designed to be used by small and medium companies that cannot afford those expensive tools.

nfriedly 1 day ago 1 reply      
Funny timing, I just got jslint turned back on in our build today! (well, jsHint now due to the 'for(var i=0...' failing even with -vars enabled, but I digress...).

Another dev and I spent literally the entire day fixing issues - and we had jslint running on every checkin until a few months ago!

But, it was worth it. It feels great to know that those bugs won't happen again without a failing build :)

rabidsnail 2 days ago 1 reply      
Has anyone tried running their commits through CRM114, marking removals in bugfix commits as "bad"?
seanalltogether 2 days ago 1 reply      
It's too bad he didn't post any samples, I'd love to see what kind of common mistakes he caught so I can avoid them myself.
Flow 2 days ago 1 reply      
How good is the code analysis in IntelliJ compared to these tools?
Havoc 2 days ago 1 reply      
Pretty sure I've read this exact thing ~1 year ago.
speg 2 days ago 11 replies      
Any recommendations for tools in web development? I use JS Lint, but what about server side languages?
Why I went from Python to Go (and not node.js) orel.li
272 points by zemo  7 days ago   193 comments top 28
ak217 7 days ago  replies      
Lots of sentiment, not much substance.

Concurrency support is possible in Python, without gevent-style monkey patching (or callback madness). Have a look at concurrent.futures and http://www.dabeaz.com/coroutines/index.html. It really needs a lot more work before it's part of the language's DNA, though. Also, pypy needs much wider adoption as quickly as possible, to address the speed problems (and its STM branch holds huge potential).

For me, Go's major shortcoming is its community's lack of focus on readability as compared to Python.

juddlyon 7 days ago  replies      
"... as a Python programmer, I was the member of an elite cabal of superhuman ultranerds, smarter than those childish Rails/JavaScript/PHP/whatever developers that couldn't write a bubble sort or comprehend even basic algorithmic complexity, but more in touch with reality than the grey-bearded wizards of Lisp/Haskell/whatever that sat in their caves/towers/whatever solving contrived, nonexistent problems for people that don't exist, or those insane Erlang programmers who are content writing sumerian cuneiform all day long."

This made me laugh, thank you.

stcredzero 7 days ago 1 reply      
If someone created a debugging environment for Go based on a VM, which also let one recompile source from within the debugger then continue execution, then it would be, for all intents and purposes, as productive and immediate as the old Smalltalk environments. You'd have the same small-grained cycles of inspecting state, modifying code, rewinding the stack to the place of your choosing, then getting immediate feedback.

Source code changes could be saved as log-structured patch files, which could then be thrown away or applied to the source tree as desired. One could also steal some ideas from the Smalltalk Change Log tool by adding similar editing, search, and filtering commands.

With tools like this, one could recompile for "interpreted debug mode," have complete visibility and control of runtime state to debug a problem, then take the resulting patch file and apply it to the source tree. It would be a best of both worlds scenario -- all the enhanced debugging of an interpreted runtime with the type safety and speed of compiled code.

it 7 days ago 1 reply      
It would help a bit if the article included at least roughly equivalent Go code next to the Python code. The Go code is wordier, but maybe it takes less time to write because it doesn't require as many decisions (libraries etc.) as with Python.

        package main;

import (

func main() {
hosts := []string { "www.google.com", "www.example.com", "www.python.org" }
c := make(chan string)
for _, h := range(hosts) {
go get_ip(h, c)
for i := 0; i < 3; i++ {

func get_ip(host string, c chan string) {
addrs, err := net.LookupHost(host)
if err != nil {
fmt.Println("Host not found:", host)
c <- host + ": <error>"
c <- host + ": " + addrs[0]

ricardobeat 7 days ago 3 replies      
Ah, code comparisons. I don't see much difference in the Go code vs Javascript, except for the extra comments and logging in the js. How about this?

    var cluster = require('cluster')
, http = require('http')
, os = require('os')

if (cluster.isMaster) {
} else {
http.createServer(function(req, res){
res.end('Hello world')

mietek 7 days ago  replies      
Dimissing Erlang and Haskell with a wave of the hand, while seriously considering node.js? Carry on, nothing to see here.
zzzeek 7 days ago 0 replies      
For small tasks in the background of a web request, you can just, you know, use a worker thread. This author seemed like he didn't even try regular threads, and went directly from one hyped meme to another. It's often the case that the GIL isn't much of an issue.
just2n 7 days ago 5 replies      
Another gonatic? I'm immediately reminded of the days when everyone who liked D proclaimed it would overtake C++ and rule the world with terrible, contrived examples: "let me show you why my language is better than yours by completely misunderstanding how to solve a problem, then implementing that broken/overengineered solution in your language, then compare it to something my language's API can do for me, just so we can see how much simpler that bad solution is in my language!"

The insight to async I/O is that this server, for this I/O bound task, will perform as well as your GOMAXPROCS example:

    require('http').createServer(function(req, res) {
res.end("hello world\n");

But it's a lot simpler. You don't need to bolt on parallelism when you don't actually need parallelism. There are valid reasons to use Go, and there are valid complaints against Node. I don't see any of either here.

bcoates 7 days ago 1 reply      
I'd like to see more detail about the real problem he was facing in python. It sounds like he mostly wants a non-blocking background job "I don't want to set up another daemon, I just want to send some email in the background!" Why not just use Queue (thread-safe, waitable, built-in) and a background thread(pool)?

There's an awful global lock on the actual execution of python code, but unless the problem is performance or contention worrying about it is premature.

antihero 7 days ago 1 reply      
I'd like to start porting a few of my little scripts to Go (that do pretty poor messy parallelism in Python), and I was wondering what a good resource/book type thing would be for people learning Go. Like, the equivalent of learn you some haskell or whatnot. Also some advice on "wtf library do I use for this".

Is there some sort of Go package manager? How does all this shit work?

niels_olson 7 days ago 4 replies      
I keep hearing about go. I am new-ish to programming. Only really getting started on my first project, which depends on pyparsing, which depends on other things. Is go something a novice should be attacking real-world problems with?
mathattack 6 days ago 0 replies      
I think we can cut the author some slack. He admits in the header to being a relative newbie. (Learned python less than a year ago, recently took Hacker School)
markmm 7 days ago 1 reply      
Wait a few weeks, for his followup article entitled "Why I came back to Python....two words...mature libraries"
zallarak 7 days ago 1 reply      
Very cool post. The code samples really make me want to try out Go when I get some time to do so. Thanks.
knodi 7 days ago 0 replies      
I'm in love with Go. I'm very close to deploying it in production.
srj55 7 days ago 3 replies      
"As a Django developer, there wasn't a straightforward and obvious way to just do things in the background on a page request. People suggested I try Celery, but I didn't like that option at all. A distributed task queue? What? I just want to do something in the background without making the user wait; I don't need some super comprehensive ultimate computing machine. The whole notion that I would need to set up and configure one of these supported brokers made my spidey sense tingle"

It's not really that hard. I just latch on to a broker that I'm already using elsewhere in my stack (Redis). Celery makes it super simple to run a command in the background.

tocomment 7 days ago 2 replies      
It it true there's no way to spawn a background task in Django without making the user wait?
realrocker 7 days ago 2 replies      
In Go, the coroutines are in the same thread. There is a single thread here too(just like node.js). Coroutines are just multiplexed to the one main thread. Multi-Core Processing is handled by coroutine internals too i.e. there may or may not be more than one threads and even if there are more than one threads, they too will be multiplexed with the one main thread.
electic 7 days ago 0 replies      
I am writing an article right now about how I went from Go to C++. Hope I can have something up here soon.
Kiro 6 days ago 1 reply      
Why do you need concurrency to send an e-mail? Why do you need to do it in the background? Just trying to understand this concurrency thing...
dgregd 6 days ago 0 replies      
According to Google Dart is better for web apps than Go.

Is it too early to switch from Python/Ruby to Go? Maybe it would be better to wait for Dart.

I known that Mozilla and MS won't support Dart however they also don't support Go.

richcollins 7 days ago 0 replies      
You should look at LuaJIT's coroutines as an option.
rjurney 6 days ago 0 replies      
I'm always confused by these kinds of posts. You really only code in one language most of the time? I code in half a dozen every day.
ishbits 6 days ago 0 replies      
What's wrong with good old threads. It's not that hard. And threading in Java will blow away any pseudo concurrency setup in python. Been there done that. Love python but just couldn't get the performance we needed.
se85 6 days ago 0 replies      
I prefer the node.js example given over the Go example.

Sure, the go example is shorter, but the JavaScript version reads much nicer (at least to me).

rWolfcastle 7 days ago 1 reply      
Based solely on this article, and this article alone, and knowing nothing more about Jordan Orelli, the conclusion I drew about the author is that he thinks "Java Web Programming" strictly refers to applets and nothing more.

narrows eyes...


sproketboy 6 days ago 1 reply      
Why would anyone go to Node.js? Serious question.
dude8 6 days ago 0 replies      
I would have to say the author of this article probably isn't that good.
Have You Ever Tried to Sell a Diamond? (1982) theatlantic.com
271 points by olalonde  4 days ago   224 comments top 30
HorizonXP 3 days ago  replies      
Wow, absolutely brilliant. I can't believe this article popped up on HN's front page tonight. I just got back from looking at engagement rings with my girlfriend.

I've known about this monopoly for a while, and so has she. Heck, one of the first movies we watched together when we first started dating 7 years ago was Blood Diamond. Here's the conversation we had while in the jewellery store tonight.

Me: "Sweety, I really don't want to buy you a diamond. I really would rather buy you something that at least has some more value associated with it, like a sapphire."

Her: "Well, I've always pictured a diamond ring. That's what everyone gets."

Me: "Well, what do you like about the diamond that the sapphire doesn't give you?"

Her: "I like the sparkle."

Me: "Ok, that's fair. What about moissanite? (Link: http://en.wikipedia.org/wiki/Moissanite) It's supposedly even more sparkly and brilliant than diamonds."

Her: "What's it made of?"

Me: "You know how diamond is just carbon? Moissanite is silicon and carbon in the same type of crystal structure."

Her: "And it's natural?"

Me: "Well, it can occur naturally, but it's extremely rare. So the ones you buy are usually created in a lab, but are more brilliant than a diamond, but actually cost less. I can apparently get a 1.5 carat stone for $800."

Her: (annoyed) "I don't want something fake!"

Me: "Oh, so it's not about the sparkle then?"

I swear, De Beers has probably pulled off the greatest marketing stunt in the history of humanity. The fact that it's so ingrained in our minds, to the point where a smart, educated, and informed person like my girlfriend still wants a diamond even after knowing all the issues with them, is fascinating.

Honestly, as a community of people in the startup ecosystem, we could stand to learn a thing or two here.

jonnathanson 3 days ago 4 replies      
It's a fascinating piece, for a number of reasons. The first, and perhaps most interesting, is that the story behind the De Beers cartel is well known. Perhaps not in this depth, but still, it's no secret. Pretty much everyone knows they exercise a monopoly on diamond production and distribution, artificially keeping prices high. And yet, nobody takes the red pill and opts out of the illusion. Call it the power of the diamond industry's marketing. Call it adherence to tradition (created by the diamond industry's marketing). Call it what you will. But it's a powerful force. Consumers know it's a lie, and they choose to live the lie.

Second: a major prediction made in this article did come to pass, but it didn't have the predicted effect on diamond pricing. A serious contender to De Beers emerged in the early 2000s in the form of a multinational, "breakaway" cartel. Yet, both cartels -- and all other minor, independent players in the market -- seem to be acting in concert to keep supplies artificially low, and prices artificially high. In fact, the rate of price increase is at its highest in modern history. Economics tells us that this shouldn't be the case, especially given the emergence of new market entrants. And yet, the rate of price increase took off at precisely the same moment as the entrance of the new competitors. (Source: http://www.ajediam.com/investing_diamonds_investment.html)

What could be causing a major, year-over-year price increase in the face of new competition? Well, one guess would be that the two cartels are colluding in some way. Perhaps they've made an arrangement to fix prices or production. Or perhaps they've carved up the map, and reached some sort of non-competition agreement in each other's territories. Perhaps both. Ordinarily I'd call these ideas paranoid. But the history of the diamond business tells me that we can't put it past these guys.

creamyhorror 3 days ago 0 replies      
This article is regularly submitted to HN, but it's good reading every time. Winning the war against the marketing of the diamond industry will be hard, but a start is to keep spreading articles like the following:



I've been in the diamond business for over 10 years. I've traveled all over the world buying and selling diamonds. I've passed through most of the major airports across the United States with about a million dollars worth of diamonds in a leather wallet stuffed inside my pants. I've bought and sold diamonds in Dubai, Mumbai, Moscow, Hong Kong, Paris, Stockholm, Tel Aviv, Madrid and Barcelona. Even today I am involved on the fringe of the diamond business, running a diamond education site helping would-be buyers.

Considering my deep personal involvement in the diamond business, my opinion might surprise you -- diamonds are a terrible waste of your money.

Even if this article doesn't convince your female friends, it'll spread some awareness and cause more people to view diamond engagement rings with a bit of doubt.

When I shared it on Facebook, I got likes from only male friends and arguments from a female friend. This was slightly unusual because such topics normally get a few likes from female friends. I guess there's a serious uncertainty among my friends about throwing away the valuing of diamonds that's been strongly ensconced in the minds of wider society.

Fundamentally, a large part of the worth of diamonds comes from their cost and the sacrifice they represent. This in turn is a conspicuous signaller of value, when women show their diamonds to friends ("look how much he loves me"). So any alternative to diamond rings has to show a similar level of value/worth. We have to try to beat diamond marketers at their own game - with equally powerful anti-marketing.

I'd advocate an approach of laying the groundwork early by sharing such articles regularly, and when actually in a relationship, offering a display of value that she appreciates (e.g. memorable trip to Europe, endowment to a cause of her choice, a custom-designed gemstone) in tandem with asking her to consider other gemstones, perhaps one in her favorite color. If the ground's been softened by our combined anti-marketing campaign, she might be willing to select and customize a stone that she genuinely finds beautiful and accept your specially planned trip (maybe extend it to Asia too, to up the friends'-envy quotient).

Or at least I hope as much.

kamaal 3 days ago 2 replies      
Sorry but is this the real reason why somebody buys a diamond? The number one reason why anybody buys anything expensive is because they wish to make a statement for that moment. Now if you go by what this article is trying to convey is the value of diamonds in the investment per se. No body I know buys diamonds as an investment.

My father once gave me a gift which his father gave it to him. Which is basically a wrist watch that automatically winds a spring inside while a person is walking. That watch is practically useless by today's standards. But that is totally besides the point. He gave it to me because that has some 'emotional value' and the fact that it was expensive at that time, and his father went through a lot of work to buy him that has some sentimental value attached to it. That is the whole reason behind its existence, He gave it to me because it means something to him. Many of my friends have asked me if I want to sell it, but I've turned them down. It looks awesome and is a jewel.

My mom also wears a diamond, and she has told me once she passes away that is supposed to given to me and never to be sold to anybody else. No, De Beers didn't whisper in her ears not to sell it. Its just my dad gave it to her and that diamond reminds her of her days when she was young, and the moment when it was given. That thing reminds her of those days. She just doesn't want some other women to wear it.

You can argue these things in the investment per se. But you don't give the diamond to your girl and that moment is gone forever. You can earn that money back again, but you can't earn that moment back. She won't have that diamond with her which she can remember you gave it to her.

As nerds we can argue about rationality, but what is that worth to human sentiments?

Besides you can expand this argument to everything around. And the only way to live will be to live frugal.

startupfounder 3 days ago 1 reply      
3 Days ago Rohin (http://news.ycombinator.com/submitted?id=rohin) the co-founder of Pricenomics posted the article: "We Need a Warby Parker for Mattresses" (http://priceonomics.com/mattresses/#industry) to which I responded: "We need a Warbly Parker for Diamonds" (http://news.ycombinator.com/item?id=4522922).

Niggler posted a comment to this Atlantic article (http://news.ycombinator.com/item?id=4523063) and then submitted it as a new post that didn't get traction because I am guessing of his new status (green name text) in the HN community.

Olalonde (http://news.ycombinator.com/submitted?id=olalonde) who is an old hat commented on the article, but didn't get that many up votes or reply's (http://news.ycombinator.com/item?id=4525901), but submitted the Atlantic article (http://news.ycombinator.com/item?id=4535611) that Niggler found and brought to the HN community.

Now this great article from 1982 is on the front page of HN.

Gustomaximus 3 days ago 1 reply      
Great read. Amazing what wealthy interests can do to a market. I had to smile at the ending:

"By the mid-1980s, the avalanche of Australian diamonds will be pouring onto the market. Unless the resourceful managers of De Beers can find a way to gain control of the various sources of diamonds that will soon crowd the market, these sources may bring about the final collapse of world diamond prices. If they do, the diamond invention will disintegrate and be remembered only as a historical curiosity, as brilliant in its way as the glittering little stones it once made so valuable."

As the diamond market hasn't collapsed 30 years on, De Beers must still be doing something right.

lwat 3 days ago 1 reply      
So... why is there no second-hand diamond marketplace? Lots of people would want to buy cheaper diamonds and there has to be people wanting to sell theirs.
TheAmazingIdiot 4 days ago 1 reply      
By fallenapple ( from showdead):

Ha, they quickly stuck a date in the title. ;)
I was going to comment this is a "pre-internet" story.
The film Blood Diamond came to mind as I was reading this, and the "Diamond District" in New York City. Lots going on behind the scenes in the "diamond industry".
This is a superb lesson in 1. artificial scarcity and 2. how consumers can be conditioned to accept new symbols (a diamond is just a rock; but what does a diamond "mean"?).
Both are principles that, for better or worse, apply to how business is done on the web.

dimitar 3 days ago 2 replies      
The Russians just announced that they have a huge amount of quality diamonds on their territory in some site that they haven't started exploiting yet.

To profit they basically have to ape De Beers and create a huge demand in Europe or Asia (I think diamond engagement rings are that big only in the USA)

mixmastamyk 3 days ago 1 reply      
A classic, I read it first almost a decade ago.

My advice, take her on a trip to Paris and Versailles instead... or climb Mount Everest if you're more adventurous. We have great memories.

matt4711 4 days ago 1 reply      
So which of these "predicted" events actually happened?
yeoldestuff 4 days ago 1 reply      
"A diamond is forever."

Translation: Please, please, please don't resell it. You'll screw up our cartel.

ngm-hn 3 days ago 1 reply      
Most of the article seems critical of the diamond industry. Have they not done people a service by providing them with a nice product that they can enjoy?

There are certainly moral problems with how they built their empire, but why are clever marketing and aggressive pricing bad things? The former is simply how you tell people about new products. Remember diamonds went from being owned by almost no one to being owned by lots of people. If those rings make them happy, then why is it our business?

How is DeBeers marketing any different from Apple marketing?

Of course, the article does do a good job in warning people that their diamonds may have little resale value. But that's a risk most buyers are willing to take. After all, most non-divorced people don't sell their wedding and engagement rings.

TomorrowMars 3 days ago 0 replies      
After some terrible early experiences with gold diggers, I am now very happy to be with a woman that despises any and all status symbols, and instead of buying them invested some money in gold and silver bullion early on, as part of a diversified portfolio.
She routinely spends the money that status-affected women waste on social symbols on travel, sports, fitness and healthy leisure.
My advise to all startup entrepreneurs is simple - plan your mating like your startup - lean and goal-driven. Identify your goals, budget, deadline and overall strategy.
If you cannot meet the woman that meets your demands where you are, travel and diversify.
Quizz 3 days ago 0 replies      
It appears that the diamond market has reached its peak, and is on its way out: http://www.economist.com/node/21538145

The Oppenheimers have sold their entire stake in DeBeers - they've cashed out. They went from producing 80% of the global market (in the 90's) to 35%; clearly, the writing is on the wall, and without strong centralized vertical management, the diamond market will collapse.

Time to short diamonds.

christiansmith 3 days ago 0 replies      
The discovery of the South African diamond mines in 1870 and its impact on the diamond industry seems to be a good analogy for what the music industry is going through today. In both cases there is rapid shift from scarcity to abundance, and in both cases, the supply side of the market try to save their businesses by engineering artificial scarcity. Somehow I doubt the record industry in its present form will fare quite as well though.
rondon1 3 days ago 0 replies      
I got my wife a moissonite ring. I took it to a jewelry store once to get it cleaned. The person there went on about how beautiful it was. I said it was moissonite and she quickly said we don't work on moissonite and handed the ring back and left. Everyone assumes it is diamond because it is double refractive and actually brighter than diamond. Only a gemmologist would know the difference.
Wingman4l7 3 days ago 0 replies      
If you want a ring that shimmers brightly with color, is unique from stone to stone, and actually has value, try opal.

The only downside is that it's not as tough as diamond, so you have to take some care not to damage it, although this can be mitigated by the way it's mounted in the ring.

tammer 4 days ago 0 replies      
Similar article, although a less historical perspective:


(warning: paywall)

ksherlock 4 days ago 1 reply      
The story is from 1982. Yet still timely.
sayYaeah 3 days ago 0 replies      
Well, it is a perceived value, but we all perceive it.

Like someone pointed out, it is not an investment. It is a demonstration for your future marriage. She wants to see how much she's worth to you.

Buy the ring. If you indeed have moral issues, buy the conflict free one.

neverm0re 4 days ago 0 replies      
Another fantastic bit of information about the history of the diamond trade, courtesy of Frontline, circa 1994: http://video.google.com/videoplay?docid=-6186684678299366197
finkin1 3 days ago 0 replies      
Fantastic read. Bernays (http://en.wikipedia.org/wiki/Edward_Bernays) was also an interesting character.
niggler 3 days ago 0 replies      
Can't believe its on the front page, given my comment a few days ago: http://news.ycombinator.com/item?id=4523063
laic 3 days ago 0 replies      
Generation after generation of brain wash, there is nothing you wouldn't believe, such as Kim Jong Il is the savior of the world.
miraj 3 days ago 0 replies      
on another note (also on todays HN homepage!)

"Russia reveals secret diamond field containing 'trillions of carats'" http://news.ycombinator.com/item?id=4534468

chris_mahan 4 days ago 1 reply      
Is it me or is the article way too long?
Things I've quit doing at my desk justinjackson.ca
270 points by mijustin  5 days ago   96 comments top 23
jaysonelliot 5 days ago 9 replies      
I would add "Eating" to the list.

I eat at my desk all the time, and I really need to stop. When I eat at my desk, I'm generally eating things that aren't that healthy to begin with, snacking unnecessarily, and/or eating too quickly, and doing it in some misguided notion that I'm able to work and eat at the same time. I'm not actually productive at times like that, it just lets me deal with some illogical guilt I feel when I get up to go eat at a table with other people, or out by myself in the park near the office.

When I get up and go to lunch instead of eating at my desk, I'm taking a real break, I'm socializing, or taking time to think.

I gotta stop eating at my desk.

bajsejohannes 5 days ago 2 replies      
> Nobody does their best thinking sitting at their desk. When you reflect on your biggest “Ah-Ha!” moments, how many of them occurred while you were staring at a screen?

My biggest ah-ha moments are seldom staring at a screen*, but quite often it's at my desk with a paper and pen.

(The big exception is when doing profiling; the highest ah-ha-per-second ratio of all activities)

_delirium 5 days ago 4 replies      
#1 (thinking elsewhere, especially while taking a walk) is definitely true for me, but it does require being in a setting where you're allowed to leave the office for a few hours in the middle of the day to go for a walk in a nearby park. In academia or at your own startup, probably not a problem, but many companies aren't very accommodating of people leaving the office for hours at a time.
praptak 5 days ago 3 replies      
Ad procrastinating: I remember someone (Paul Graham?) reporting that he configured a separate machine for procrastination-inducing activities so as to avoid the "just quickly check my feed while this is compiling" syndrome.
eckyptang 4 days ago 1 reply      
I quit working at my desk.

It's uncomfortable (despite considerable investment), takes a lot of space, has terrible lighting, is too hot or too cold and is eerily quiet. It's quite depressing really.

I tend to sit in the garden when it's not raining - good lighting, relaxing ambient noise and great air (which is really important). Plus you can get up and walk around regularly and focus on stuff that isn't right in front of you.

The only downside is bird crap and my neighbours think I'm insane.

jakejake 5 days ago 1 reply      
I knew before I clicked that there was going to be something about a standing desk. I feel a subtle smugness coming from the standing desk crew that irks me a little.

But, as far as procrastinating I have definitely been slipping lately and need to lay off facebook, reddit, and (gulp) HN as well. Wait... what am I still doing here..!

hkmurakami 4 days ago 0 replies      
The "writing hut" part reminded me how Wallace Stegner's house / writing hut will be torn down in order to build a multi-million dollar monstrosity of a mansion [1]. :(


edit: apparently the writing hut will be preserved, though inaccessible to the public


AYBABTME 4 days ago 0 replies      
We should declare our desks sacred, and define a set of rituals to perform at those desks, to calm the Gods of Creativity and ask their forgiveness for all those sins we committed in their temple - the Desks.
Tooluka 5 days ago 1 reply      
And switch laptop for desktop computer. Reason is - you shouldn't do work at social station, at rest station and at sleep station. You should only work at work station.
jseliger 5 days ago 1 reply      
Sitting: for the past 18 months I've been using a standing desk. I've realized that the best part isn't that I'm standing all day; it's that I'm not sitting.

I actually got a GeekDesk a while ago, and I think it's a better solution: I wouldn't want to sit or stand all the time.

ChuckMcM 5 days ago 1 reply      
I disagree about the socializing part, in part because so much of our socializing is driven through the same mechanism we might otherwise do work at. Perhaps Justin might have two desks, one that is the communication/socializing desk and one that is the execution/work desk.

Of course a number of people would love to do that where the TV ends up the display for your socializing function.

RyanMcGreal 4 days ago 0 replies      
> Even better, I've felt more freedom to just walk away when I'm faced with a problem and need to do some thinking

I don't have a standing desk, but this is possibly my biggest incentive to consider getting one: if you're already standing, there's a lot less inertia to keep you from just walking away from your desk.

rbellio 4 days ago 0 replies      
I like the ideas put forth in the article, thanks for the write-up. For me, it's really sometimes just finding what works best for the situation I'm in. I've found that sometimes the solitude of a library study desk can be the best place to get work done. At other times, sitting in a busy area (a cafe, a park, even public transit) can be invigorating and creates enough background as to allow me to focus more. The recliner in my living room has seen more than its fair share of use while sitting at my laptop typing away.

There are times when my mind races and I can't focus. I turn the lights off, close the shades and the only light and thereby focus becomes the monitor.

I look at this article and others that offer advice on finding that working place for yourself, or that motivation to ignore distractions and I see them more as tools than as rules. A man with a well supplied toolbox is more likely to find the one he needs when the time comes.

electic 5 days ago 3 replies      
I would also add "drinking" to this list. It's never good to drink anything at your desk.
darkxanthos 4 days ago 1 reply      
I've been experimenting with getting away from my desk at home more often and taking breaks to play games and such. I use RescueTime to track what I end up doing and how much I end up working and if anything my productivity has only increased.

It's not a perfect measurement but it helps me to realize its not at all expensive to unchain myself from my desk.

bkanber 5 days ago 1 reply      
I wrote an article very similar to this a few months ago. I make a similar argument: we need defined workspaces, and when we're there we shouldn't do anything but work.


xiaoma 4 days ago 1 reply      
That desk seriously needs a nice 27" monitor before it can be a proper "workstation".
brador 5 days ago 0 replies      
Best thing I ever did was move away from the desk unless working. Get a tablet for web browsing and keep your desk for work. I'd guess it's added 10 years minimum to my expected lifespan.
skibrah 5 days ago 0 replies      
I couldn't agree more regarding using a standing desk. The ability to stretch and move around makes working for long periods of time much more productive.
thechut 5 days ago 2 replies      
You don't use a mouse?
nodata 4 days ago 1 reply      
I call BS. Nobody has a desk that looks like that.
poblano 5 days ago 6 replies      
Has anyone else switched to a standing desk setup? Do you like it?
ybrs 4 days ago 0 replies      
imho; if he's talking about the desk in the picture, its positioned wrong, he needs to stare a wall all the time he is behind the desk.
IFTTT forced to remove Twitter triggers to comply with new API policies thenextweb.com
265 points by hornokplease  1 day ago   83 comments top 25
dm8 1 day ago  replies      
Dick Costolo recently spoke about Twitter as a platform on Charlie Rose show - "The future of Twitter is that we'll have a true platform, not just an API that allows developers to create an alternate Twitter experience, but an API that allows third parties to build on top of Twitter in a way that creates accretive value for the user, much how Amazon allowed third-party merchants to build into Amazon."

He made it abundantly clear that Twitter doesn't want its API to be used for alternative twitter clients. IFTTT does not necessarily create alternative twitter consumption client but it can be used to accomplish that.

On a side note (and it may not be popular with HN community); so far we have seen API used (majority of times) for alternative twitter consumption clients. May be with these API changes, we might see more innovation using Twitter as a "platform"? Rather than people trying to create alternative clients.

Smudge 1 day ago 3 replies      
This feels very counter to Twitter's claimed intent in rolling out the new policies.

IFTTT is in no way trying compete as a Twitter client, and, especially in the case where I'm trying to archive my own Tweets, the service only enhances my Twitter experience.

Twitter's throwing a lot away in the name of squeezing more value out of its assets.

willidiots 1 day ago 1 reply      
I've been using IFTTT to syndicate my Twitter posts to App.net. Guess now I'll have to default to App.net and syndicate to Twitter instead. Say goodbye to my ad revenue, Twitter.
mratzloff 23 hours ago 0 replies      
Their investors obviously got tired of waiting for a return. When that happens at any VC-backed company they start ratcheting up the pressure on the CEO and executive team. And if they don't start generating a return quickly enough, they put their own guy in place. So co-founder Evan Williams moved on from his CEO position in late 2010 and the new leadership purged the old guard. Dick Costolo took over.

Either it took 2 years for his profit strategy to come together or the pressure started ratcheting up on him, too. After all, investors have sunk a silly amount of money into Twitter; they expect a return.

Either way, I wouldn't want to work at Twitter right now...

jwilliams 1 day ago 0 replies      
This is the full email from IFTTT

Very diplomatic. I wouldn't have minded a "this sucks for you & us" in there.

albertsun 1 day ago 1 reply      
IFTTT seems like a perfect case for something that should be an open source project that anyone can install and run on their own servers, not as a centralized service, specifically to prevent things like this. Then anyone could contribute recipes and API clients and there's no central point of failure for them to be all removed in one go.
dreamdu5t 1 day ago 0 replies      
Twitter's handling of their API closes the door on a future where there can be any expectation of building your service on-top of another.

We should stop building apps on-top of walled custom APIs and go back to using HTTP as an API.

nathancahill 1 day ago 0 replies      
Are you kidding me?! Why would Twitter do this? Picture Twitter as a tree trunk of data. There are branches and leaves that grow off the trunk, branches like IFTTT and other amazing services. But once you cut off the leaves, then the branches, only the trunk is left. A dead, dead trunk. A couple months ago there wasn't an alternative to Twitter. Now there is. I'm switching to App.net tonight.
state 1 day ago 0 replies      
I started to think of Twitter in between SMS and E-mail as I think a lot of people did. To me Twitter is more of a protocol or even a modality than a platform. That's the brilliance of it: it's a speed and length of communication that feels very natural. I have no objections to these rules in terms of Twitter growing as a company. I think there are a lot of applications that can be built aside from clients and it makes sense for them to steer people in that direction.

As a user, however, I feel attached to the idea that data and application are separate. I would like to think that I own my Tweets, but most of all I just want to _feel_ like I own my tweets " like I can _do_ whatever I want with them and see them however I want. A short, passive message that I put out in to the world is a great thing and it seems unlikely that a single company can own that idea.

akkartik 1 day ago 1 reply      
Just yesterday I saw someone saying how twitter's API policies didn't bother him: http://news.ycombinator.com/item?id=4545823. Now they do.
ColinWright 1 day ago 0 replies      
See also the discussion here:


nicholassmith 11 hours ago 0 replies      
Well, according to Dick Costolo it has nothing to do with the API changes: https://twitter.com/dickc/status/248947914582405120 but I'm struggling to imagine IFTTT killing a really useful feature for no reason.
barredo 1 day ago 1 reply      
What about buffer and twitterfeed? Will they be able to proceed?
joebadmo 1 day ago 0 replies      
Add to the list for the need for a decentralized, distributed platform with no one party in control of our information and publishing. I, for one, am really looking forward to what the http://tent.io/ guys come out with.
Shank 1 day ago 0 replies      
I used this functionality to track updates on software from companies/groups that don't do RSS. They do/did Twitter. I also got downtime alerts from Pingdom via Twitter.

I'm starting to see this as less and less of a platform I can depend on.

egfx 17 hours ago 0 replies      
Ok, I created the product http://2FB.me (ReTweet 2 Facebook) months ago and I read the same policy some weeks ago and didn't read it to mean this at all. 2FB.me makes share links for tweets enhancing & augmenting the experience. It doesn't clone any portion of Twitter. I think the same can be said for IFTTT?
tonetheman 1 day ago 0 replies      
Meh. twitter is wrong in this case. And so starts the reputation of being an asshat company. Nothing to see here move along.
onetwothreefour 1 day ago 1 reply      
Congrats to IFTTT for getting themselves a crap load of coverage dishonestly! Yay!


samikc 22 hours ago 0 replies      
People at Twitter must realize that when developers talk about your API's tos rather than the API, you must have broken something. It reminds me Facebook episode of network feed and privacy. At the end of it, Mark understood what the users were talking about and took action to correct it.

The problem seems like an issue of making profit by showing promotional tweets, which will not happen in the clients. It, to me, looks like the problem of management which could not come up with better revenue model.

ThaddeusQuay2 1 day ago 0 replies      
What about Zapier? Doesn't it provide the same Twitter connectivity as IFTTT did? I don't use either, but, from casual inspection a while back, my impression was that they are similar enough in that regard.
TomMasz 13 hours ago 0 replies      
It's Twitter's way or the highway. From clients to value-added services, if Twitter doesn't own it, it's dead or soon will be. Fun while it lasted, I guess.
gizzlon 18 hours ago 0 replies      
Bah, the "foo mentioned you on twitter.." SMS' kept me in the loop.. Now I probably won't even notice :(
munimkazia 18 hours ago 0 replies      
I don't get it. IFTTT complies with the new API policies. Infact, cool stuff like IFTTT is exactly what twitter should be looking for as platform apps which use their API creatively.
philip1209 1 day ago 1 reply      
I am disappointed that I cannot post tweets to Facebook with this any more. However, using twitterfeed to post them should be fairly straightforward . . .
mehdim 1 day ago 0 replies      
This is why we need API neutrality http://api500.com/
iOS 6 Breaks the App Store pixiteapps.com
264 points by Mazer23  2 days ago   121 comments top 37
bpatrianakos 2 days ago  replies      
Nothing is broken and no one is "doing it wrong". It's not broken, it's just inconvenient for you. This sucks for app developers with bad app store SEO and lackluster icons, app designs, and screenshots of said designs. Many apps at the bottom of the stack will be neglected. This is a good thing. I'm about to release an app into the app store for the first time and I'm happy about it.

This will raise the bar for developers. It'll force them to do better app store SEO and it'll force the, to pay attention to design. Ugly apps aren't always necessarily bad but more ugly apps are bad than ugly apps that are good. This isn't Android. On iOS, users tend to judge an app by its icon and screenshots and they use pretty apps more than they open ugly ones. I didn't make the rules, I just play by them. Developers should be welcoming competition and with so many crap apps out there today it's probably better for good app developers to work on getting their rankings higher while the crap app makers languish at the end of the results.

While its bad for developers it's great for buyers. Guess what? There are far more buyers than developers on the app store. You may argue that if developers leave then iOS will die. Not so. Again, iOS users are a different animal. They can live with just a few big name apps from the major players. Android users tend to like lots of apps from indie devs and iOS users do too but if push came to shove they'd just keep their Angry Birds, Skype, Facebook, Twitter, and Yelp and go on with their day. Screenshots are very important in the buying process and putting them front and center like this.

As developers we tend to think we're the center of the universe. We place far too much importance on our role than is deserved. Witness the outrage over Twitter's API. While developers were screaming about revolt the users barely noticed and kept tweeting away. Meanwhile Twitter pretty much gave us the finger because they know we'll be back because they have the users. Developers are like parents in a way. We raise a platform then the platform rebels. We threaten to cut them off but by that point the platform is all grown up and doesn't need our help anymore. iOS won't be hurt by developers leaving. If developers leave over not being found in search results then by definition they're leaving because no one's using the app. Who's going to miss an app that never gets used?

sumukh1 2 days ago 3 replies      
This is awesome news (though it's been known for a while) for the top publishers who have: large download numbers, good AppStore SEO, and good screenshots.

While I think that this is bad on whole for developers/discovery as we knew it, it might just help users. Most of the time, users are either window shopping or looking for a very specific product.

Window Shoppers: "I want a photo editing app", chances are you are going to look at the first result and scroll down and see if a icon stands out. With the new model, you see the screenshots too. Could save time over, tapping into an app, tapping into reviews, and then tapping back twice. This means that the icon is downplayed in sales and the first screenshot has become extremely important.

Very Specific Product: "I'm looking for Gmail" It's quicker to just get the first result and confirm that it's actually what you are looking for. This however means that Apple has to be really confident in their search results (which aren't as great as they can be).

Net effect for developers:
1. App Store SEO is important. (It always was, but now I think developers will start to see it now in their app sales)

2. Your copy on the sales page should also grab users attention.

3. Your first screenshot is very important. Your screenshots should be good. (Link: http://mobile.tutsplus.com/tutorials/mobile-design-tutorials...)

4. Also note, categories have been removed from the app tab bar.

5. Ratings seem to matter a lot for the search algorithm but not for Featured apps

6. This is the "Chomp" update, and Chomp has been known to get content from Blogs and various sources, so you should be mentioned off the App Store too.

7. Facebook Likes also help since those are displayed.

Here's a cheat sheet that seemed useful: http://www.apptamin.com/ASO_Cheat_Sheet-v2.pdf

jpdoctor 2 days ago 1 reply      
Could the message be any more clear? Stop putting Apple in your critical path. They hold all the cards and you hold none.
robomartin 2 days ago 0 replies      
Well, app store searching and browsing through either an iPhone, iPad or even iTunes has been, to be kind, far less than desirable from day one.

The same is true of iBooks.

Apple has crappy search technology and even crappier implementations.

grey-area 1 day ago 0 replies      
While I disagree with the linkbait hyperbole of the article title, Apple have taken a misstep here. What they should have done is allowed the user to flip between a list view of results or a card view when introducing this new view type, rather than just replacing the list.

Re searches I'd expect a simple search for picasa to return apps with picasa in the name before other apps, no matter how popular they are.

The frustration I have with the App Store is that it doesn't
have enough control over subcategories and filtering so it's hard to filter results or browse effectively as the categories offered are so broad.

spaghetti 1 day ago 0 replies      
As an iOS developer I'm not too thrilled about this. However as a mobile developer I'm actually happy to see this. And I'm glad that Apple's review process is pissing off developers. And I'm glad that Apple took an awesome, frequently used app (Google maps) and just removed it. And I'm glad that the new devices' taller screens make developers' lives harder (at least in some cases). Why am I glad? Because all these screw ups provide incentives for developers and other companies to stay in the game and compete with Apple. So as mobile developers I believe it's in our best interests to have a diverse ecosystem that's not dominated by a single company or at the very least where there exist incentives for multiple organizations to compete and innovate.
furyofantares 1 day ago 2 replies      
If you view the details of at least half of the apps in your search results up to the one you eventually buy, this change means it takes less effort to find the app you want to buy, and you get more information in the process.

If I buy the sixth app in the search results and only care to review two of the earlier ones, the old method was 5 touches before the one I'm buying is in front of my face, while the new method is 5 swipes, and with the new method I get more information about the three I previously rejected based on icon/name alone.

I'm pretty sure my own experience is that the item I am looking for is usually in the top 3 results, and I pretty much always review the top 3 results, so this feels like it will make it significantly easier for me to get to the apps I want to buy.

I'll have to try it out to know, though. One thing I lose here if the 3rd app is the one I want is the confidence that the one I really want isn't somewhere in 4-10. It will take some usage to know if the new design is better for me or not.

omarqazi 2 days ago 1 reply      
When searching for apps, do you guys usually immediately jump through the whole list? This is something I never do.

However, I will look at apps one at a time and decide which one is best. On iOS 5 this meant clicking on each list item one by one, waiting (forever) for the app page to load, and eventually picking one. Allowing me to browse through apps one at a time and see all the information I need without ever leaving the screen seems like it would encourage discovery, not hurt it. I can even download the app right from the search screen AND I don't get thrown out of the App Store when I start the download so I can just download all the apps I want to try at once. This seems like a huge win to me.

Do other people browse the App Store differently?

ghshephard 2 days ago 0 replies      
I've purchased about $1000 worth of applications on the iPhone/iPad in the last 4+ years, about 350 or so in total. 95%+ of the time I chose the very first app in the list. I don't recall the last time I was looking for an App that I didn't know the name of - but perhaps others use the App store differently.

Of course, this is negative for publishers who are trying to leverage the search field with "like names" and, for those publishers who get business from people searching for random apps in a particular category.

But, in general, this is good for people like me - who heard about a great new app by name on a podcast, and just want to try it out - having the extra data around the screenshot is useful.

hnriot 1 day ago 0 replies      
Aside from the design issues of layout and information density, for me the new store doesn't work half the time, I click links for reviews and nothing happens, or I click more reviews (because its shown me just one for some reason) and again nothing. Without some clue as to what is clickable (this is basic design stuff) it's hard to know what is supposed to work and what isn't. I'm sure the store will go through some rapid evolution in the next few weeks and there are likely some very stressed devs down in Cupertino right now, but for the moment this just looks like that were nowhere near ready to ship iOS 6. Of my dozen or so friends that upgraded their iPhones about half of them had stalled upgrades and needed to hard reset at least once.
JumpCrisscross 1 day ago 1 reply      
>"No offense to the makers of “Picasa HD Lite”, which ranks #1 in a search for “picasa,” but Web Albums' 5-star average from 483 ratings should be ranked higher than a 2.5-star average from 30 ratings."

No, if I search for X I want to get X, not a better rated app in the same category as X. If I search for "photo album" or something to that tune this argument would be valid.

jsz0 2 days ago 0 replies      
Pre-iOS6 I would often go through and tap on each search result to look at the screenshots, assuming I didn't already know exactly what I was looking for, so this saves me a couple extra steps there. If I know exactly what I am looking for the search suggestions allow me to go directly to it. The one thing I do not like about the iOS6 App Store is the amount of horizontal scrolling on the iPhone. Not enough space for that to work well.
clarky07 1 day ago 0 replies      
I think you could be right to a point for people that have quality apps that are already ranking, but I think this is going to make fewer total apps seen and therefore make it even harder for new apps to gain traction. I hope I'm wrong, but I'm afraid any app outside the top 5 search results will have sales go to 0.
mtgx 2 days ago 2 replies      
Sounds like Apple's algorithm for the App Store is pretty horrible and primitive. I wonder if most of the success stories came mainly from the fact that Apple was picking them for their feature lists.
jeffpalmer 2 days ago 0 replies      
I saw the new style search directly after I upgraded to iOS 6. I just opened the app store again after reading this post and now I am getting search results in the old list style. I wonder if Apple decided to switch back? Screenshot: https://www.dropbox.com/s/wl7w37pwuti87en/2012-09-19%2021.08...
phil 1 day ago 0 replies      
I'm concerned about this.

App store search has had a heavy bias towards the top 4-5 results. This will only make that bias stronger.

alecst 2 days ago 1 reply      
The number one search for "picasa" should be Picasa.
beaker 1 day ago 0 replies      
I was very excited when I saw early versions of the new app store that eliminated the need to page through search results five apps at a time and replaced it with a scrollable list. Then at the last minute though, it seemed like Apple had a change of heart and added the screenshot-centered design - very disappointing from my perspective as both a user and developer..
chmars 1 day ago 0 replies      
'With this new layout, people will be less likely to try out apps that aren't at the top of the results.'

I wish I could try out apps in the App Store, that feature has been missing from day one.

I agree, however, that it remains very difficult to find apps directly in the App Store. I mostly go to the App Store via recommendations from friends and on websites since looking myself for an app, recently for example for a clock and timer app for my iPad (no longer necessary with iOS 6), has almost never been a success.

I know most apps are not expensive but neither online nor offline do I like to spend money for things I don't use, i.e., I need a possibility to check an app or any other product in advance. Reviews could replace such a check but there are not very helpful in the App Store either. In my case " living in a relatively small country " most apps, even popular ones, have no reviews at all …

jojopotato 2 days ago 1 reply      
On a side note, could you imagine Google changing their search results to this kind of layout? I think it would probably trigger a ton of lawsuits.
ouriel 1 day ago 1 reply      
the very first assumption of this post is fragile "Although Apple doesn't make these numbers public, I bet most people search instead of browse through the App Store categories to find the apps they're looking for"
1. This is really far from certain. actually the reality is that most apps who get massive downloads from the app store got featured or from the top charts when they reach the top 1. I never heard a developer who had massive growth because he was "searched"
2. The App store has been redesigned mostly for visual discovery and not search. Explaining the streams, big stickers, card browsing

If you want to be discovered in massive volume in the app store the only way is to get promoted or top ranked

The other cases are edge cases and frankly do not justify complaining about how such results are displayed.


sukuriant 1 day ago 0 replies      
Okay. I wanted to see the App Store in action; and ... I'm confused. Is there any sort of YouTube video that has the more recent app store? I was watching this review http://www.youtube.com/watch?v=wO-vcmBjN50 which is allegedly about iOS 6; and ... that App Store doesn't look bad at all. I mean, I prefer up-and-down scrolling over horizontal scrolling when I'm looking for things, but that's nowhere near what was shown in the article. ... Help?

Edit: found one.


It looks like it works better on the iPad

firat 2 days ago 0 replies      
I agree that iOS 6 layout is ridiculous and far from usable.

However, if you are building an app for Picasa, it better have "Picasa" in its name. The results are probably sorted by relevance (whatever that might be) and not only by ratings.

seangransee 2 days ago 1 reply      
It's unlikely that Apple will fix this any time soon. I can't think of a single time when Apple gave one of their pre-loaded apps an overhaul except when releasing the next major version of iOS.
dcope 1 day ago 0 replies      
I wouldn't say that the App Store is broken, but that it is terribly hard to use. For instance, after you've searched for something and paged through you want to view more information so you tap on it. After tapping to go back to the results, you're placed at the beginning of the results. If you want to compare applications that are deep within the results it's going to take quite some time.
biftek 1 day ago 0 replies      
Just searched for "picasa" on my (iOS 6) iPad. First two hits were apps that actually had picasa in the name, (the ones he mentions) followed by his apps.

What exactly his he whining about?

Search for a competing app and his doesn't come up first?
Does he also complain to google (irony) about his page ranking?
Why is this on the front page, let alone #1?

ojbyrne 2 days ago 0 replies      
I'm looking at it on an iPad that I just upgraded, and it doesn't look like that. I can see 4 full products, and the top of two more in 2 vertical columns.
Jarshwah 1 day ago 0 replies      
Came expecting news that the app store would not launch in iOS 6. Title is definitely more provocative than it needed to be.
apphero 1 day ago 0 replies      
Since the App Store search algorithm update in June, my apps have seen a 60% drop in sales. Before the search changes, two of my apps steadily made me around $40k a year for three years.

The drop in sales concerned me so I paid for external advertising and marketing. It did not help.

One of my apps was featured by Apple twice. Now when you search for it by its exact name, some free spam app shows up above my app.

I am expecting another huge sale decline starting this month thanks to the new iOS6 App Store.

I'm not sure how anyone can see this change as being rational. This change is as bad for customers as it is for developers.

As for me, I had a good run on the App Store. But the world is not ending. It's just time to look into other income streams.

brevityness 1 day ago 0 replies      
The App Store crashes on my iPod Touch 4th gen whenever I conduct a search. I can barely flip past the first app before it crashes altogether.
ommunist 18 hours ago 0 replies      
In iOS6 I failed to find the way to sort app reviews to see critical first. Am I alone?
induscreep 1 day ago 1 reply      
I like the new App Store layout. One of the first thing I look for in an app is how intrusive the ads are - and looking at the screenshots shows me exactly that. This new layout is perfect for this app search strategy.
caycep 2 days ago 1 reply      
isn't this the layout of that app store discovery startup they bought a while back? chomp or something like that?
bradsmithinc 2 days ago 1 reply      
Hacker News broke your blog.
acknickulous 1 day ago 0 replies      
It's basically as bad as Nintendo's eShop on the 3DS now.
binaryorganic 2 days ago 0 replies      
And HN broke this article
janlukacs 1 day ago 0 replies      
iOS6 - ugly maps, ugly dialer, ugly appstore. 'nuff said.
       cached 22 September 2012 02:11:01 GMT