По сабжу вам ответили ниже, а насчет ui-router - лучше сразу с ним, чем потом переписывать( переписать конечно будет несложно, но рано или поздно этот момент настанет).
вам нужен дизайнер, такое себе никто не будет качать т.к. цветовая гамма подобрана видимо от балды, ииконки никакие ( я про тучки и прочее), игра должна радовать глаз, если она изначально выглядит никак - количество загрузок будет маленьким. Идея то вроде ничего такая, но, как отметил xmoonlight, это скорее прототип.
GaserV: вы в данной функции используете multipart/formdata тип. Этот тип не стоит использовать для отправки не файлов. Я обновил основной ответ, как доделать то, что вы изначально пытались сделать.
Дмитрий Байчапанов:вопрос о том, как сделать правильнее, а не быстрее. По поводу первого из предложенных вами методов так сказать язык не поворачивается. По поводу второго кстати тоже, если график предполагает какую-то интерактивность.
Сашка Брамс: Может у вас какой-то мета тег стоит, который говорит эксплореру думать что это сайт пенсионер? В бытность ИЕ10 такие теги были точно, остались ли сейчас - не уверен.
angelzzz: скрином тяжело, т.к. нужно какие-то действия совершать, если словами то так: открываете консоль разработчика (мне больше всего в хроме нравится), находите нужный элемент и выполняете действия при которых происходит интересующее вас( в данном случае скроллим вверх-вниз). Как правило у элемента начинает меняться аттрибут style="", при прилипании иногда добавляется класс. В хроме очень удобно, т.к. изменения мигают и сразу бросаются в глаза.
daMage я имею ввиду, что эта эмуляция не будет отправлять дополнительный запрос с _escaped_fragment. Ждите пока до вас дойдет реальный бот. Вообще судя по их заявлению теперь и без пререндера должна работать индексация.
Nikita Schipilov: это много чего: и минификация( сжатие) кода, оптимизация/ создание спрайтов для картинок, отложенная загрузка ресурсов(тех же фулсайз картинок например). Об этом всем написано много статей в интернете, инструментов тоже много, но инструментами нуэно уметь пользоваться. Причем стандарты меняюься и вместе с ними должнв меняться и подходы к разработке.
Денис Денис: лучше конечно переписать это через ng-click и делать всё в controller а не в link функции, тогда и $apply не придется вызывать. И если уж вызываете $apply - лучше так: $scope.$apply($location.path('/'));