182 karma · joined May 3, 2013
Thanks for making this!
I encourage JS developers who strongly believe in distributing source along with their webapps to use source maps instead of delivering slow, unminified code. They are only downloaded when a user opens the web inspector (no overhead for regular users) and provide transparent access to source as if it had been delivered instead.
It's not the best tool for the job. It's also not the worst tool for the job, and it's an extremely popular language. If it brings more people into the hardware space (which is its expressed goal), it will be a success.
Javascript is a good programming language, in that it's expressive, fast (much faster than Python), and more importantly it runs everywhere. No ecosystem can grow without developers, and the success of Node.JS clearly shows that developers like a system they can dive into without much prior effort, using skills they already have.
Tessel allows web developers to use skills they already have to do new things. How could that possibly be a bad thing? Just because Javascript has '==' and '===' and both 'null' and 'undefined' and {} + [] !== [] + {}? I swear, everybody seems to have seen the 'Wat' talk and thinks they're now experts on Javascript development.
Javascript, like many languages (even PHP!) can be written in a 'good' way and a 'bad' way. Thankfully, it's not very hard to write in a good way and it lends itself very well to I/O bound applications like webservers. Embedded devices, depending on the application, could also be very I/O bound, waiting on sensors, cameras, wifi, etc.
Javascript is actually one of the fastest interpreted languages in existence and thousands of new programs are being written in it daily. It's easy enough for a total beginner to use yet powerful enough to port Unreal Engine 3 to it. Get over your biases and recognize that JS brings with it something that Haskell, Scala, etc., will never be able to match: large numbers of ready developers.
Snarking about why he's root when he runs unzip does not advance the discussion and despite your efforts, it does not make you look smarter than him.
Some applications render better than others; I see a nearly order-of-magnitude better framerate in Safari vs Chrome, which is too bad, but all in all it's usable and I do some development in it with few issues.
Since that started, I stopped reading Quora entirely and I always avoid their links. Occasionally there is some great content I can't find elsewhere, and I won't sign up to a service that is so abusive. This is a great trick. Thanks.
Our team was tired out after all-night coding and really didn't possess the mental finesse at the time to walk the fine line between arguing "the results don't fit the spirit of the event" and "we are sore losers".
The strongest complaint we could make was that it was strongly against the spirit of a hackathon, which is a difficult argument to win.
The winning app makes it easy for consumers to find places to withdraw
small amounts of cash at a low cost, using businesses in their own
neighborhood and a PayPal technology that is very secure, said Alexander
Sjögren, who developed the app with Jose Pimienta and Osniel Gonzalez.
Sjögren is with the Miami company YellowPepper, which offers mobile
banking and payment solutions in Latin America. Pimienta and Gonzalez
co-founded Vinylfy, a startup catering to vinyl-record enthusiasts. [1]
YellowPepper is: About YellowPepper
YellowPepper Mobile Financial Solutions provides products and services
that enable mobile financial transactions between financial institutions
(banks), businesses, and consumers in Latin America. With 1.5 million
users, YellowPepper operates in Ecuador, Colombia, Bolivia, Guatemala,
Peru, and Panama as a service provider for more than 50 financial and
non-financial institutions. For more information, log on to
www.yellowpepper.com. [2]
1. http://www.miamiherald.com/2013/08/25/3585797/hackers-emerge...2. http://www.prnewswire.com/news-releases/yellowpepper-and-fun...
For those of us who had built working products, it felt more than a bit cheap. We saw some great code and very little of it was recognized.
I believe the issue is one of expectations and marketing for these events. They are pitched as "hackathons" and try very hard to attract engineers, as you simply can't have the event without coders. Therefore, engineers reasonably expect an event where the best code wins. After all, it's called a "hackathon", not a "meet & greet with investors" or even a "startup weekend". In the end, it just felt like the judges were putting themselves into the mindset of investors, and in that case, obviously the team that has prepared for months beforehand will win. But to the coders, we felt cheated, and that they had completely missed the point.
The big perf wins:
* Fewer box shadows
* Fewer gradients
* Fewer semitransparent borders (a big performance problem, especially in chrome - I've seen > 10x performance slowdowns when using rgba borders & border-radius: 0 - see Chrome's tracker [1])
* Simpler rules (fewer styles to cascade)
1. https://code.google.com/p/chromium/issues/detail?id=170882
* Design:
Unfortunately, it reeks of hip design gone too far - green text on a green background, grey text on a grey background, and amateurish construction. Removing the text-shadow alone from the alert boxes makes a big difference in readability.
* Structure:
The angularJS parts have already been addressed in another comment, but the most bizarre part is that there is minimal minification (.min.js versions of jquery & bootstrap, that's it - comments are still intact), no concatenation, and no gzip compression whatsoever.
I think it's easy to forget that jQuery alone is 90KB, bootstrap JS is 30KB, and bootstrap's CSS is ~125KB alone. The site is pretty simple; it could easily be trimmed down into something much faster. The use of jQuery is questionable, the use of bootstrap even more so considering how simple the layout is.
The pubsub module that pushes new inbox data is pretty great though.
* Content:
The content pages look great. The little transitions are nice. I like the new copy as well; it helps cement the point that this is not a serious security product and it should not be considered as such.
Overall, while it's a nice change, it may be a bit more flash than users are actually looking for. The massive assets package makes the actual email page huge - jQuery, Bootstrap, and Angular, just for such a simple page? Combined with web fonts, the total payload is well north of a half meg. Intro transition animations serve to make the perceived time to displayed content even longer.
A second pass with a proficient JS developer and a keen eye for readability would do a lot for this site.
All that aside, I really wish this kind of deliberately misleading comparison would die:
http://g-ecx.images-amazon.com/images/G/01/kindle/dp/2012/KC...
Why are laptops and tablets and smartphones measured in raw hours, while the paperwhite is measured in weeks, where one day is half an hour? And then why plot them on the same graph, indicating that they mean the same thing?
A graph that wasn't intentionally misleading would show the paperwhite with a bar about 2x the length of the smartphone's - in practice, it gets about 11 hours at full tilt, and about 28 (that's 56 days * .5 hours per day) when conserving power.
Even worse, the price is not really $300 - in order to use it, you'll need a thunderbolt cable which is nearly $40 (!).
There are few to no storage solutions that can benefit from thunderbolt over USB 3.0 and the whole ecosystem reeks of greed and vendor lock-in. No, thanks.
If there is a 2nd- or 3rd-gen Edge I will be very interested, but today's state-of-the-art ARM quad is not enough for the tasks I usually run on my laptop. If it can't replace my laptop, then contributing to this project is just throwing $600 (or $830!) sight-unseen into a development black hole that could be months late.
In these sorts of situations contributors are almost never reimbursed for delays. By the time this launches there will be yet another generation of Intel chips, ARM chips, and flagship Android/iPhone devices. It just doesn't make economic sense.
I appreciate what they are trying to do and I don't know if there's a better way. But it's quite a risk to shell out that much for a toy that may not really be that useful in this iteration.
Using r.js in development isn't the worst idea. It's worth seeing how long it takes in order to make that decision. Compiling tpls is much faster (grunt-contrib-jst) and adding that to your grunt watch & including it directly is a good way to save time. I think it takes a long time on my end due to the complexity of the dependencies. I only include exactly what each module needs so some dependencies may be as many as 6 levels deep, or more (haven't really checked).
SPDY makes a big difference for me (big enough to ignore the problem for now) and I don't mind using a self-signed cert in dev.
EDIT: I hadn't been compiling tpls using JST in dev until I wrote this post - a great side effect is, it actually shows me now where the errors in my tpls are! Previously any tpl's stack terminated at the code that ajaxed in the tpl. This is far better for debugging and brought my DOMReady time down to about 1.75s.
Running SPDY locally helps a lot. Even with all those files I hit DOMReady at about 2.7s with no concatenation.
The Chrome team has shown that they are very interested in moving the Inspector forward and have succeeded in integrating local files access via the editor, SASS support, Source Maps support, and a lot more. It is to the point where it would not be crazy to consider building a site entirely within the inspector. While the editor is not as good as others, you do gain simplicity and the ability to patch running code. The workflow is getting better.
Writing a great inspector is the hard part. Comparatively, writing an editor should not be as difficult. Chrome built the inspector first and is circling around.
The only integration I would really care to see (perhaps via ST2 Package Control) is the ability to directly pipe into the Inspector and patch running code. For large projects, especially in development mode, it can be a drag to ajax in >200 source files (even from localhost) and refresh every time you make a change.