Show HN: LayerJS – A simple UI composition and navigation library - <AUTHOR> https://layerjs.org <comment><USER2> Non-standard license with a restrictive custom clause unfortunately.

[https://github.com/layerJS/layerJS/blob/master/LICENSE](https://github.com/layerJS/layerJS/blob/master/LICENSE)

> Permission is hereby granted, free of charge, to any person obtaining a copy > of this software and associated documentation files (the "Software"), to > deal in the Software, including the rights to use, copy, modify, merge, > publish, distribute, sublicense, and/or sell copies of the Software, and to > permit persons to whom the Software is furnished to do so, subject to the > following conditions:

> 1\. The above copyright notice and this permission notice shall be included > in all copies or substantial portions of the Software.

> 2\. The Software must not be used in the code base of HTML editors or web > builders. A HTML editor is a software (or hosted web application) that can > be used by a third party (the user of the HTML editor) to create HTML > documents that can be exported and used elsewhere. A web builder is a > software (or hosted web application) that can be used by a third party (the > user of the web builder) to create HTML documents that are hosted or > dynamically generated under a top level domain chosen by the third party. > The code base is the source code of the HTML editor or web builder, > including the source code of publicly available plugins. No calls to layerJS > can be made from the code base, but third party users can use layerJS in > their websites that are built with these HTML editors or web builders.

> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, > FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE > AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS > IN THE SOFTWARE.

> This license is derived from the MIT license > ([https://opensource.org/licenses/MIT](https://opensource.org/licenses/MIT))

<comment><AUTHOR> This is really not meant restrictive. Its basically MIT and only restricting one particular use case (if you want to build a webeditor like WIX, etc. ) It's currently protecting our baby startup (layerjs.com) and should avoid that someone is using layerjs.org (which will be used inside) to get an competitive edge on our baby (: So don't be to harsh on this. We will remove this clause altogether once time is ready to launch.

<comment><USER3> I had a conceptually similar tool driving a startup way back in 2001. It failed because there was no market - people who couldn't code wanted to just hire a designer/developer. People who could code didn't care about a codeless web design tool. People who did use it nitpicked the resulting markup. Admittedly, many years have passed. The market may differ now. But I'd seriously validate the problem you are solving here.

</comment></comment></comment><comment><USER4> This looks... awful.

You're piling on massive amounts of attributes, making your app almost impossible to read and figure out the transitions. Anything complex is going to become a tangled pile of nodes and code. It would take anyone but the original designer a long time to puzzle out what exactly is going on and figure out the workflow, unless there's also a ton of HTML comments in there too.

You have attributes that should just be classes with CSS (overflow: hidden prevents scrolling, not sure why you need lj-no-scrolling), you have html elements that actually need to have attributes to define their neighbours, and you're just overloading your HTML with a bunch of extra baggage that doesn't need to be there.

Look at your parallax example. A 30KB library, a bunch of superfluous divs, and a ton of extra attributes you need to try to figure out have successfully replaced "background-attachment: fixed". The sliding divs could be done so much more clearly with just a bit of javascript that tracks "current frame" and hides them all then shows the next one when you click the button. The ZoomUI is admittedly pretty, but I feel like you could do it much easier with just a click event that expands the frame via changing the classes on it, rather than all the extra baggage and divs and wrappers you need to make that work. The animations are pretty, but not worth the extra baggage it takes to use them.

It's a neat toy, but I can really only see it being usable by people who are inherently terrified of javascript and will do anything to avoid it. And even then they'd only need the simplest of use-cases, and they'd need to make sure it wouldn't be on something that would need updates, because I wouldn't want to have to come back to a project with this in 6 months.

<comment><USER5> You are talking about their implementation. It's done in an old-school way(by extending HTML), and it would be very hard to build any sort of complex UI on this implementation.

However, the idea behind this project is pretty interesting. If you haven't already, do check out their presentation in the section "How LayerJS works".

<comment><USER4> The idea seems to be inherently "UI Composition in pure HTML", at least from the user's perspective. Which, sure, it's possible. But that's not a great idea. And the video is just how HTML works already. Firefox has had a neat inspector tool that showed you all that for years. "A div that loads above the rest and is anchored to the window" isn't new.

<comment><AUTHOR> The concept behind layerJS is very fundamental, so fundamental that one even thinks its already there. It must be there, but it's not. We looked deep. So we created a polyfill (please see my previous response). Of course you can code every effect that layerJS can do manually. But then you would need to do so...

</comment></comment></comment></comment><comment><USER6> I really like this and have added it to my "dive into on the weekend" bucket. The catch phrase got me: "UI composition in pure HTML"... but a bit of my optimism left when I realized that the page wouldn't scroll (there's not even a scrollbar) without JavaScript. But still, it's better than a blank page (and the header had enough info to tempt me to white list it!).

This is just a get-off-my-lawn nitpick/feature request - because I think it looks really interesting, great work!

<comment><USER7> On the body there is a `overflow: hidden` presumably to fix horizontal overflow. The selector causing this is `[lj-type="stage"]`, so the scrollbar not working without js might be an issue with the library, rather than just the marketing site.

<comment><AUTHOR> yes, layerJS needs a "Stage" where navigation can happen so the scrollable content will be inside that Stage. In this case the body is the stage and the page is a frame inside it. We are working on something where the stage length adapts to the frame length. Then the body will become as long as the full content and native scrolling would even work if there is no JS

</comment></comment></comment><comment><USER8> For adding interaction using HTML attributes, I highly suggest intercooler.js: [http://intercoolerjs.org/](http://intercoolerjs.org/)

It also just enhances your valid forms and markup, which means, if you don't do something weird, your page keeps working without JS as well.

<comment><USER9> This looks like Intercooler, but purely focused on UI transition and animation—with a bit more conceptual overhead than IC tends to require.

</comment></comment><comment><USER10> Looks promising, but the web site keeps promoting this as "Pure HTML and CSS." But it's actually all run on JS. So, not actually pure HTML and CSS.

The video didn't work on my machine. It goes as far as "How does it work?" and then it's just random dots all over the page.

And the last straw was the pop-up asking me if I want more information when I'd only been on the page for five seconds. How do I know if I want more information if I haven't had a chance to look at the page yet?

Usually I lump these into "yet another JS library to throw on the fire." But this one seems a little different. We'll see.

<comment><AUTHOR> Thanks. Yes you are absolutely right. It is of course a JS library, but its API is full "HTML". So you only need to do things to your HTML to control it. Actually we think that the concepts of layerJS are pretty much in line with the HTML concepts esp. the box model. So maybe one day all this fitting and transitioning (==linking) will be natively supported by the browsers and then really no JS will be needed.

The video (actually an animation) had some trouble on safari where the container background was on top of the 3d elements. I hope its that one. This is hot-fixed right now

The chat window should actally open only after a minute. I know it can be a bit nasty but we need feedback (:

<comment><USER10> Pop-ups are an abomination, whether they're a _blank window, or a shiny slidy <div>.

And is one minute really a good length of time for someone to grok what's on your page? How long is the video?

</comment></comment></comment><comment><USER11> This actually seems like a throwback to jQuery mobile which had a similar way of doing full page transitions. I always thought that was ahead of its time.

I also found a bug (latest Chrome on macOS):

\- open [https://layerjs.org](https://layerjs.org) in a new tab

\- navigate to [https://layerjs.org/examples.html](https://layerjs.org/examples.html)

\- close tab

\- reopen tab with cmd+shift+t

\- pressing back will change the URL back to [https://layerjs.org](https://layerjs.org) but the page will not change

<comment><USER12> Seeing "layers" and "frames" in the top content gave me a throwback to Netscape 4, so YMMV.

<comment><AUTHOR> (: good old times

</comment></comment></comment><comment><USER13> Love the idea - looks like a well-thought-out and much needed abstraction. The way I'd pitch it is that it allows one to create UI in a completely declarative and stateless manner.

<comment><AUTHOR> totally agreed. I went into the declarative/static argumentation on medium [https://medium.com/@layerjs/getting-started-with- layerjs-17f...](https://medium.com/@layerjs/getting-started-with- layerjs-17f679452c8d) but it really depends on the audience if these terms trigger the interest.

</comment></comment><comment><USER14> I wish I had more to comment on, as I'm still reading through the docs, but just a quick note to the website dev. On tablet/mobile, all but the last 2 footer links cannot be clicked because the copyright text row covers the section. This made it so I couldn't see the Licence from the website. (I had to use the main menu to navigate to Github then to the Licence.)

<comment><AUTHOR> can you post a screenshot at firstname.lastname@example.com? and which device are you using? Thx!

</comment></comment><comment><USER15> This looks really interesting! I will have to try it out. The Parallax seems to be different than usual since the image in the background does not scroll. It would be really cool if you could make that background image scroll and at a different speed from the content. :-)

<comment><AUTHOR> yes, that's on the todo list to couple scrolling of two overlapping layers (e.g. scroll other layer x times)

<comment><USER15> Cool!

</comment></comment></comment><comment><USER16> That is a really neat "video". I see that it is mostly just 3d-transformed LayerJS, but did you use any particular tools to do it? Whether to help fine- tune the desired 3d angles or to designate where animation parts fire on the applicable timeline, etc ?

<comment><AUTHOR> actually this is currently handcoded calling the JS api of layerJS at specific time points. Let me know if you need this somewhere i can share the code.

</comment></comment><comment><USER17> I have started prototyping a similar UI concept on top of Vue.js

I'd like to ask you how did you manage to support all those JavaScript frameworks in one go? It's still very possible for me to revert to vanilla js instead of getting locked into Vue.js

<comment><AUTHOR> The way it is getting along with other frameworks is that makes as little asumptions as possible. So layerJS will only deal with divs that have the attribute "lj-type". The it will only show, animate or hide them. There are a few exceptions to this but that's basically it. So if another framework like vue modifies other elements on the page its free to do so. layerJS actually has a few mutation observers lurking around to see if the dimensions of frames or stages change to adapt the view accordingly. So that means that other frameworks can modify the DOM the way they want and layerJS will adapt. If there may be some hickups in special cases, please let us know so we can fix it.

<comment><USER18> How well does it work with Shadow DOM? Do the mutation observers get created on attachShadow()?

<comment><AUTHOR> basically layerJS will reparse if it detects a change rigth inside one of its objects. This works for example in a vuejs app we create. If the framework actually rebuilds the whole DOM hierarchy the layerJS parse would need to be triggered manually. Let me know if you get into this situation so we can tackle it.

</comment></comment></comment></comment><comment><USER19> I would have loved to try it, but it looks a bit too heavy (.js size, even minified is 30KB+, and looks like jquery is needed too?) foe my 197KB homepage, and I am actually working to trim off few dozen KBs by not depending on jquery slim.

<comment><AUTHOR> no there is no dependency in layerJS. Also not on jQuery.

<comment><USER19> Also, on a related suggestion, it could also be nice if layerJS could be modular, so that everyone does not need to download the whole thing if they only need the responsive menus, for example.

Of course, I realize that implementing this would be a lot of effort and would require change in your release flow.

But just in case, there's more demand for what I suggest, here's an inspiration from FontAwesome: [https://fontawesome.com/get-started/svg-with- js](https://fontawesome.com/get-started/svg-with-js). Note how they provide a fontawesome-all.js having __all __the icons. But they also provide separate fa-*.js for different icon families for the people who don 't care about downloading the whole thing.

<comment><AUTHOR> this is a very valid request. And we are thinking about it. But note that layerJS is not a collection of effects. It actually uses the same mechanism for every effect (that's the concept behind it). Maybe we can off-load some of the routers and some of the transitions types...

</comment></comment></comment></comment><comment><USER20> This looks pretty nice, I like the idea and the abstraction seems nice. Super annoying problem though: you're stealing my Mac's swipe to go back gesture on your entire page even where you have no swipe actions.

<comment><AUTHOR> that's funny because i was always annoyed about the back functionality deleting all my carefully entered form data when unintentionally activating this gesture. Anyway you are right. we need to make this configurable. Apart from that i find it very intuitive to use the touchpad swipe for in app navigation as it feels very much as on mobile devices.

</comment></comment><comment><USER21> Wouldn't a data-lj-type attribute be more HTML validator friendly?

<comment><AUTHOR> this actually works. I just use the short forms in the documentation because it is more compact and more understandable

</comment></comment><comment><USER22> This looks perfect for marketing websites where you get usually static assets and you can simply animate them in a flow easily. Great idea.

<comment><AUTHOR> Thanks!

</comment></comment><comment><USER23> I really like the website (on mobile).

<comment><USER24> Thanks

</comment></comment><comment><USER25> Why remove the scrollbar?

<comment><AUTHOR> not intentionally. It's scrolling inside a div and not on the body. So the reason must be somewhere there. I have to look into it.

</comment></comment><comment><USER26> The "video" doesn't work for me on Chrome in iOS...

<comment><AUTHOR> That's a pitty because i think this explains the concept best. The "video" is indeed not a video. It's actually layerJS operating on a "dummy" website. We tested it on a few devices including iOS. Which device version are you using?

<comment><USER27> Doesn't seem to work in Safari 11.1 (desktop) either.

<comment><AUTHOR> hmm, is it that you can't see the content when it enters the 3d view? It's weird safari seems to put the containing divs background color in front if the 3d animation. I'll try to hotfix that

<comment><USER27> Yes, that's precisely it. It keeps going, but things start to clip in various ways, but mostly it's just white.

</comment></comment></comment></comment></comment><comment><USER28> Looks neat :) Typo below.

> head of you document

<comment><AUTHOR> Thx! Will fix!

<comment><AUTHOR> Made a hotfix. Still has a little issue that the overlay text sticks through the frames. Should be useable for now. Thanks!

</comment></comment></comment><comment><USER29> I was wondering how long it would take JS developers to rediscover UIViewControllers/UIViews

</comment><comment><USER30> Scrolling, specifically auto-scrolling, is broken due to the insistence that I should look at the top navigation bar no matter where I scroll on the page.

When I disabled JavaScript to get rid of the annoying navigation bar, the rest of the site stopped working.</comment>


Universal time  - <AUTHOR> http://www.johndcook.com/blog/2010/01/28/universal-time/ <comment><AUTHOR> My favorite title for a paper is "Dating events in the vicinity of a leap second: (pdf) <http://tf.nist.gov/timefreq/general/pdf/1788.pdf>. And for more interesting detail, see <http://www.nist.gov/index.html> searching for UT0 UT1 and UT2.

And for a bit of history, albeit somewhat painful, see <http://naggum.no/lugm- time.html>.</comment>


Ultraconserved words? Really? - <AUTHOR> http://languagelog.ldc.upenn.edu/nll/?p=4612

<comment><AUTHOR> Whenever I see one of these questionable science articles jump to the front page of HN, I want to remind people that thoughtful, well-informed criticisms of said article often take a few days to appear (sometimes less, sometimes much more). By which point the original article has fallen off the front page and everyone's moved on to the next thing.

I guess my point is: don't forget that HN is just as bad (if not worse) as any other forum for promoting bad science journalism.</comment>


Ink file picker dialog broken for anyone? - <AUTHOR>

https://www.inkfilepicker.com/
Click 'Choose A File' button.  The dialog is unstyled, endless spinner image; nothing's working.  And I see 403 errors in Chrome's network tab.
e.g. GET https://drpyjw32lhcoa.cloudfront.net/2cad9a2/css/bootstrap.min.css 403 (Forbidden) www.filepicker.io/:20
GET https://drpyjw32lhcoa.cloudfront.net/2cad9a2/img/spinner.gif 403 (Forbidden) www.filepicker.io/:35
GET https://drpyjw32lhcoa.cloudfront.net/2cad9a2/res/swfupload/swfupload.min.js 403 (Forbidden) require.min.js:33
Supposedly the dialog is OK according to the official status page (http://status.inkfilepicker.com/) but not for me and my business! <comment><AUTHOR> It was down for an hour, seems to be intermittently up now. I tested from 2 different ISPs from Sydney Australia.</comment>


Erlang LS – The Erlang Language Server - <AUTHOR> https://erlang-ls.github.io/ <comment><USER2> I'm sure this one is good. But something I've noticed from trying Language Servers for various languages is that a lot of them still need to get over the hump to be an overall help rather than a hinderance. i.e. using a Language Server that's flakey and fouls up often is more annoying than not having one enabled at all.

<comment><USER3> Yup. Writing a good language server is a big task.

It needs to do everything a compiler frontend does, and most languages don't have compilers that are written with this use case in mind.

Even if parts of compilers can be used as a library, they are very rarely written in a IDE compatible way, where you need fast, incremental and very resilient parsing and type checking.

Typescript was written with IDEs in mind from the start, which is a big reason it excels here. C# has a dedicated IDE toolchain called Roslyn.

And for dynamic languages the task is even more complicated, since you need to implement type inference and static analysis.

<comment><USER4> It's not erlang-ls, but having used elixir-ls is a pleasure (for the unaware, elixir runs on the erlang vm). Pretty much everything just works as you would expect, and it's a huge timesaver. Erlang and elixir have static typechecking, which is a slow process from the command-line, but it's integrated and "just works" with the ls, and rather refreshingly fast.

I even wrote a Zig package for elixir, which plugs into the elixir compiler, and I found that the ls correctly highlights compile-time errors in my Zig code embedded in the Elixir Code. About a month ago VSCode switched to auto- code-loading (instead of hitting save) and now my Zig embedded in Elixir live- highlights mistakes (with about a 500ms delay).

So if erlang-ls is about as good as Elixir-ls it'll be fantastic.

<comment><USER5> Wait, please explain/expound on using Zig contained within Elixir?! Is this running in or out of proc? What is your dev/edit cycle like?

I love Zig, but it doesn't have the security guarantees (yet) of Rust, so I would recommend either running it out of proc or within an in-proc Wasm environment, which actually has other interesting properties.

 __edit

[https://www.reddit.com/r/elixir/comments/e955jw/zigler_zig_n...](https://www.reddit.com/r/elixir/comments/e955jw/zigler_zig_nifs_in_elixir/)

[https://hexdocs.pm/zigler/Zigler.html](https://hexdocs.pm/zigler/Zigler.html)

So this is an Erlang Nif [3] which runs inside the VM, akin to JNI in Java. This also means that errant code can bring down the entire VM.

Would you be open to a fork of Zigler that targeted a Wasm environment running inside the Erlang env?

[3] [http://erlang.org/doc/man/erl_nif.html](http://erlang.org/doc/man/erl_nif.html)

<comment><USER4> You can do what you want :) in practice it's really hard to bring down the erlang VM in zig. I'm also going to experiment with OTP managed OS threads, which I think should allow you to safely run code that panics (but maybe not segfaults), and will clean up the memory resources after you.

I think in general though you should be using zig not rust, because zig is aggressively unopinionated about memory allocators, so when you allocate memory in your code, you'll use the allocator that zigler provides, which makes the BEAM alloc conformant to zig's allocator interface. This means your code will be more performant, because there are fewer trips to the kernel on allocate and destroy, and your code will respect the BEAM's memory fragmentation, cache optimization, etc.

</comment></comment></comment></comment></comment><comment><USER6> Configuring Neovim for different languages used to be such a hassle, now with CoC.nvim, all it takes is pointing to the LS, combined with the benefits of having functionality standardized for all languages. I've used Erlang LS briefly, and if nothing else, it's _way_ easier to set up.

</comment><comment><USER7> Source here for those interested:

[https://github.com/erlang-ls/erlang_ls](https://github.com/erlang- ls/erlang_ls)

Specifically here:

[https://github.com/erlang- ls/erlang_ls/tree/master/src](https://github.com/erlang- ls/erlang_ls/tree/master/src)

</comment><comment><USER8> Does it work better than: [https://github.com/pgourlain/vscode_erlang](https://github.com/pgourlain/vscode_erlang) ?

<comment><USER9> I would say the major difference is that "vscode_erlang" is tailored for VS Code, while Erlang LS aims at be editor-agnostic (which is the main point of implementing a Language Server). There are currently some differences in terms of features, too. For example, VS Code has support for a debugger, which Erlang LS does not have (yet). On the other hand, Erlang LS provides support for Dialyzer or Elvis and I'm not sure if those are provided by VS Code Erlang. You can compare the list of available features:

[https://github.com/pgourlain/vscode_erlang#erlang-for- visual...](https://github.com/pgourlain/vscode_erlang#erlang-for-visual- studio-code) [https://erlang-ls.github.io/features/](https://erlang- ls.github.io/features/)

</comment></comment><comment><USER9> If you would like to try it out, you can do it in the browser:

[https://gitpod.io/#https://github.com/erlang- ls/erlang_ls](https://gitpod.io/#https://github.com/erlang-ls/erlang_ls)

Zero setup, just login via your GitHub account.

<comment><USER10> Is there a way to try it without logging in?

<comment><USER9> I don't think so, unfortunately. Of course you can follow one the installation instructions for one of the available editors. See the "editors" section on the website. Instructions exist for Emacs, VSCode, Vim, etc.

</comment></comment></comment><comment><USER11> This is working nicely in MS VS Code! I program in Erlang every day, and didn't know this was available.

</comment><comment><USER12> Awesome. Can't wait to see it in Eclipse Che.

</comment><comment><USER13> The more I learn about lisp the more I see its insights. The interpreter itself is kind of like the language server.

<comment><USER14> couldn't this be said about any language with an interpreter? or do you have some lisp-specific feature in mind?</comment></comment>


Why aren't App Constellations working? - <AUTHOR> http://andrewchen.co/why-arent-app-constellations-working-guest-post/

<comment><USER2> Antipattern: when scrolling down the page, at some point it has a popup asking for your email address.

Having read the article, it doesn't mention that unbundling is a cost to the user (more real estate, more task switching). People put up with it for Facebook because it's so widely used already.

If you're not unbundling features but instead launching a new feature as a new app, then you have the same problem of trying to achieve popularity takeoff as everyone else.

<comment><USER3> Regarding the anti pattern: seems more like a dumb pattern. I often sign up for new sites when they have good content. But I need to read the content _first_.

So many people give the pop up and interrupt me in the first paragraph so it is an automatic dismissal. The smart sites do it at the end. If I like the writing, I may sign up. Smarter sites just give a link at the end.

But the best sites just write great, compelling articles that make me want to hunt down a subscribe button.

</comment></comment><comment><USER4> Sending data back & forth between web or desktop apps is so much easier than with "mobile apps". Even on the same device, apps are just too isolated. The platform vendors do everything to disrupt what makes collaboration work elsewhere. They need to destroy the round wheel so they can sell you a trilateral crap version of it for N times the price.

<comment><USER5> consolidation and fragmentation tension is the weapon of choice in mobile

</comment></comment><comment><USER6> This is actually an interesting question.

In a lot of these examples, "app constellation" means everything the website does is too complicated so it needs to be broken down into several different apps. It's possible that this is just a bad question.

Apps originally designed for mobile don't have problems that you would consider solving with an "app constellation." They just don't have more features than comfortably fit into a mobile app. Tinder vs OKcupid. Twitter/Whatsapp vs Facebook. Skype vs Whatsapp.

I mean, the mobile only (or first) essentially solve the same "problems."

So Facebook needs to solve some hard, ugly problems that will probably never have a tidy resolution while whatsapp doesn't. No wonder they bought them. It's hard to move to less complexity. Just to give one example. FB (or Google+) need to give their users complicated privacy controls to decide who sees what. Twitter or Whatsapp don't, most of it is implicit.

</comment><comment><USER7> Provably false with the extreme example: Google.

Gmail, Maps, Hangouts, Search and a few others are regularly in the top 100, if not top 20 apps in the iOS app store. Thats at least 5 apps that stay on top. Several games are able to d the same for short durations of time as well... like the derivatives of Angry Birds and a few others.

The constellation works with a series of self established services. It only works as a spin off of the spin off is actually BIGGER than the core app, i.e. FB messenger. Otherwise you should just be looking to kill off the features you were looking to spin off.

</comment><comment><USER5> As apps grow, and features increase there is always a pressure towards a "mega app" of many features and an opportunity for the "micro app" of focused features. The old adage of "Desktop apps are novels and Mobile apps are proverbs" may not hold as mobile matures, there is nuance.

Mobile applications are especially sensitive to this pressure of feature growth since the users are often interacting in short "mobile minute" spurts of need at a specific time and location ( of course not in all cases, youtube iPad engagement is much longer). The juxtaposition of large apps that support the desired feature and a small app that just does the one desired feature is where larger app stakeholders are trying to hold user base by providing the best of both words by splitting up apps and creating app ecosystems "constellations".

Some things that are not discussed in this article that discounts the current state of mobile apps is the new integration/federation capabilities provided by mobile platforms such as deep-linking, custom actions and widgets.

Another interesting situation is how a "north star" or "keystone" app may fit into this by providing the highly valued "single sign on" authentication feature for an app ecosystem. I despise login screens and passwords fields in mobile and its Im happy to install a second app so long as you federate authentication.

Maybe in the end one app makes a product but two make a platform ( or maybe just skip the 'app' all together and make an API )

</comment><comment><USER8> It kind of works with google docs since they extracted the editors/viewers for the different file types into different apps. But there is no choice, either you have the spreadsheet app or you can't see the spreadsheet. That doesn't get against the expectations of users trained to use Word, Excel, Powerpoint, etc for different files. However having an app for the front page of HN and a different one to read and write comments would be weird. I guess somebody won't install it.

</comment><comment><USER9> Define "working". Maintaining #1 in download ranks is a very rough measure and without correlation to something else I wouldn't place a huge value on it. A million people download and then remove it. What then? I'd be more interested in the CLV.

</comment><comment><USER10> Could I make a case for "app constellations were always a kind of dumb idea"?

For the most part, they're a solution in search of a problem. A designer wanted to make a really clean interface, and in service of making a really clean interface, they killed the genuine synergy of a multi-functional app.

The only case where app constellations really make sense is where the original app was really, genuinely, for-real several apps in one already, with no significant crossover. Even then, unless your customer base are either:

a. Already naturally segmented into people who use functionality X exclusively and those who use functionality Y exclusively.

or

b. Really heavy users of both X and Y such that they'll "pay" the cost of downloading both apps separately.

then it still doesn't make much sense. If you have a function in your main app that people, like, kind of use every now and again, then if you separate it out into a different app, they'll just go without that functionality.</comment>


Android and IOS versions of Unity are free until April 8th - <AUTHOR> https://store.unity3d.com Usually they are $800 together. (Their site has been crushed...so be patient :) <comment><USER2> I toyed with creating an android game in unity last year, but the cost of the licence ($400) put me off and I ended up doing it natively using java and eclipse (which was fairly painful)

I'm going to give unity another look in, but the unity servers seem pretty well hammered at this point!

<comment><USER3> They are worse than hammered. I have been refreshing the 500 error for 30 minutes to log in to my account.

<comment><USER4> Stop refreshing; you have more than a month to get it.

</comment></comment></comment><comment><USER5> I am so psyched for this! Unity is an amazing platform, and their support of the community is quite remarkable.</comment>


Ask HN: Could we crowdfund a therapist who is available to depressed hackers? - <AUTHOR>

The news about Aaron has saddened us all.  I am saddened and alarmed at the Wikipedia entries for other people who have left our community the same way.  I am even more troubled by the idea that less prominent members of the community will have committed suicide but no-one has been there to tell us - their accounts are simply dormant.
So I've been thinking for the last couple of days about what I could do.  My first feeling was that perhaps people could post their contact details to a thread and welcome any contact from people needing to talk to someone.  But do I know what to say if someone called/emailed?  Perhaps I'd make things worse - I just don't know.  (firstname.lastname@example.com / Skype: alex.muir.uk the offer stands to anyone who wants to be heard.)
So with that idea binned, I want to ask whether it's feasible for us to put some money in a fund to pay for a professional  (I've no idea what profession?  counsellor? therapist? psychologist?) who has knowledge of the hacker mentality and whose number is available for people who might want to talk.  They can invoice the fund for their hourly rate and we can monitor whether it's being used.  If not, we just gift the money to the national helplines.  We are also exceptionally fortunate that a number of us have the money to pay for help - we just don't know where to get it.
Perhaps telephone calls wouldn't work for this sort of thing?  Maybe it's best left to the national helplines?  Perhaps the money would just be burned by timewasters?  I don't know - but there are far more knowledgeable people here and I wanted to float the idea and see if it's even possible.
Note: I've hesitated to post this because it seems much more vocal that asking for comments on a new site.  If it's a terrible idea that's fine - don't feel in any way obliged to sugar-coat your responses because it's a 'well-meaning' thought. <comment><USER2> First of all, thanks for caring about people.

Don't feel nervous about wanting to do something to help, and not knowing exactly what or how. Compassion isn't the same thing as knowledge, any more then thinking programming is cool is the same thing as understanding Hoffman coding.

This is a rare topic that my bachelor's degree in psychology can maybe help me answer on HN. The sort of thing you are talking about is something that the practice of community psychology addresses.

Incidentally, when I say you hereafter, I mean people interested in working towards dealing with the issues you raise, including stakeholders.

There is nothing wrong with exploring the idea of helping depressed hackers. Let me get that out of the way.

But you don't necessarily know the best way to help. And you don't want to dictate what is best, without understanding things from different perspectives. And you don't want to be treating the individuals if there are broader root causes or issues.

Community psychology would suggest you should consult multiple stakeholders, and build for the community in an iterative way, using empirical data to develop best practices. Just like A/B testing for your website change, you want to know if you are helping things get better, and by how much, and how you can optimize even more.

So, multiple stakeholders... Stakeholders include: depressed hackers, families of depressed hackers, friends of depressed hackers, people willing to offer support/money/time, therapists and other mental health professionals, companies employing/funding hackers.

Possibly insurance companies and local hacker groups.

All the above can be involved, can help, or hinder, have resources, and desires.

You also need to step back and think hard about what you see the issue. The problem you think you want to solve needs to be touched on by those stakeholders, as well as seeing what resources can be offered. To some extent the solution should fit the resources, but it's also important that the solution fit the problem.

You need to make sure you are solving the issue at the right level. Are there systemic causes, or barriers to help, that go beyond a single individual? Who can help change those, if they exist.

You can try to help the individual deal with their environment, but that's just first order change. It may be more helpful to change their environment. Instead of addressing people when they are hurting the worst, can we prevent some of the harm they experience so they hurt less?

Like if there is a stigma associated with mental health issues, addressing that with education could help people get treatment. If the pressure to produce code and work long hours makes increases anxiety and depression, that can be addressed as well.

There also may be regional differences. I believe the UK has national mental health care coverage, right? The U.S. doesn't sadly.

My point being, don't just think about helping a person cope with how things are. Think about how we might change how things are so it's easier for such people to cope.

Anyway, I hope that's helpful in your process. I want to encourage you. Go ahead, try something. Maybe start a discussion site or mailing list on the topic. Start small and prepare to shift your understanding and focus more then one time.

</comment><comment><USER3> I honestly don't think it's the cost that's the issue for most of us. It's getting over that stubborn-ness of "this is who I am and I'll live with it" and actually seeking professional help. It's accepting therapy and medication that has been proven to help, proven to save lives. The hacker mentality is "I'll fix it myself". Just look at how often 'hack your brain' articles get posted on HN.

You can't always fix it yourself. Sometimes you need professional help.

</comment><comment><USER4> [Situation in the U.S.]

Professional therapists are licensed state by state. The regulation of psychiatry tends to be similar between states. This also tends to be somewhat true for clinical psychology (that's doctorate level). Beyond those two, regulations, credentials, titles, etc. tend to vary significantly among the states - though there are some clusters of similarity based on the standards promoted by national organizations.

As a practical matter, it would be difficult to find a person licensed broadly enough to provide services in more than one or two states. Furthermore, in regards to therapy, I doubt that remote services would meet the professional standards of any qualified therapist.

Resource referral and non-medical counseling may be another matter. See <http://www.militaryonesource.mil/>

I'm not claiming expertise, just one eye...My spouse is an LCSW (licensed clinical social worker) of nearly 20 years, much of it spent as a psychotherapist.

</comment><comment><USER5> I love the idea of members of a community reaching out like this to other members, shows the care that goes into this and the passion that you people carry.

Is a hackers' depression in any way different to the depression of a non- hacker? I don't think so, which is why I think that the usual helplines are sufficient (but others will probably differ).

I have another caveat: If you think of helping depressed people directly, think of yourself, too. People working at helplines have direct access to counsellors, which you don't. It might be that someone contacts you and then drops off the grid, having possibly committed suicide - could you live with that?

You might have pushed this person over the edge by a wrong remark, and you will have no idea which it was. You will fuss over your logs looking for any remark that even remotely could be interpreted as wrong, maybe a joke that could have been misinterpreted? You will never know (I've been in a similar situation). So please think of your own mental health, too.

</comment><comment><USER6> This is a great initiative and I appreciate the effort. Myself, I'm too bad at helping people emotionally, but I wish you success in it. It's needed and useful.</comment>


Ask HN: What to learn to become employable, starting from zero? - <AUTHOR>

Hi. I intend to learn web developement, but I am not limiting myself to this and so I am open to other options.
While I would love to learn web development, I am afraid it will hinder me to do back-end work, if that is something I end up finding interesting in the future.
My question is basically, what exactly should I learn to become employable in Europe? Preferably England or Switzerland. I have no degree, and I would be creating a portfolio from scratch. Exactly how low are the requirements?
At the moment I intend to learn: Ruby, Ruby on Rails, HTML5 CSS3, Javascript, jQuery. Is that really enough? <comment><USER2> So, a few years back, as a non-technical founder I lost my technical co- founder in back-to-back startups. This was not a great experience, and made me decide to never be dependent on someone else for getting initial product out the door. I spent every evening for several months learning Ruby, Rails and the periphery of front end stuff needed to get projects finished.

I also went to every hackathon I could - not to win, but to meet other programmers, to sharpen my skills, to learn how to finish something under pressure.

After a few months I started getting contract gigs - nothing fancy but paid work. And a funny thing happened. I loved it. Loved programming. Wished I'd been doing it for the last decade in go-to-market roles. Key was I never let up learning. I read everything. Watched every video I could. Tried katas, built any app I could think of to build. Shortly after that I was able to get full-time gigs.

Nowadays I'm in a great company, doing awesome work and loving every minute of it. Your instincts are right. If you're genuinely dedicated to it you can get your head down and learn the stuff you mentioned. Plenty of folks hiring in the UK for ruby/rails. While it's lost its luster for much of the HN crowd, it's only increased in its broader adoption, and the number of jobs hiring for those skills have multiplied far beyond the available talent.

Go for it. Good luck.

</comment><comment><USER3> "Back end" is typically used to refer to web development as well, so I'm not sure if I misunderstood you, or you misunderstood the term. Web has "back end" (ruby/rails) and "front end" (html/css/javascript). With a lot of the latest developments there's a lot of overlap in job descriptions.

That _is_ really enough, yes. That's nearly "full stack." You're going to learn some sql while learning rails, and you're going to have to learn enough to deploy somewhere (I recommend heroku to start).

Basically you should teach yourself how to build essentialy any CRUD app (blogs, wikis, basic twitter, news site, hacker news, reddit, etc). When you can do that, you're employable--and probably well above average, honestly.

There will still be _TONS_ of stuff to learn after that, but there won't be any reason for you to not get typical web-development jobs.

<comment><USER4> >>Basically you should teach yourself how to build essentialy any CRUD app (blogs, wikis, basic twitter, news site, hacker news, reddit, etc). When you can do that, you're employable--and probably well above average, honestly.

That's a tall order to become barely employable. I'm guessing this is written from a Silicon Valley / SF market perspective?

<comment><USER2> Barely employable? ...Ruby/Rails/Full Stack jobs are so hard to fill it's insane. Starting salaries are in the $130-150k range for mid-level $150k plus for senior and even junior level is a six figure gig. Sure it'll take time to get to a hirable state but it's perfectly doable.

<comment><USER4> I've added the full quote to my post.

<comment><USER3> It's not "barely employable," and that's not what I said it was. Rather, it's a solid entry-level position at most agencies.

Also I don't think it's that tall of an order. These "bootcamps" are (arguably) cranking out graduates that (supposedly) know how to do that.

I taught myself over something like a year of spare time (I was in high school), although this was pre-frameworks. Also pre-really-good-tutorials.

Last, I've never been west of Oklahoma. I don't know what your "perspective" comment is on about.

</comment></comment></comment></comment></comment><comment><USER5> Do you have any programming background?

I don't have a degree either, but having dropped out from a computer engineering university department (where I did pass most of the programming courses) and having maintained my own free software project, gave me a head start when I decided to take the web-dev route as a career.

At that point, I studied php/mysql,js/jquery and html5/css.

These were enough to land a job as a frontend Dev, but the amount of studying that I did afterwards I began working, was orders of magnitude more than before.

So I think your list is very complete for a start but prepare for lots of reading related to the specifics of the jobs you land.

Also, why limit yourself to local gigs? Even if you don't like remote work from your home, you can't ignore that it opens a huge market to you.

</comment><comment><USER6> Linux. Whatever you choose in web development, unless you're focusing on the MS stack, will run in Linux. Not sysadmin level, but try to use the CLI as much as possible when interacting with your other tools and get some understanding of how it all works. If you can also give some time to tools like Docker you'll be much more productive.

Also, today web development isn't as much about backend as it's frontend, and there aren't many frontend (all JS) developers out there as much as PHP or RoR. So, I would give more effort to SPA Frameworks than to RoR.

</comment><comment><USER7> I was laid off from my job a few years ago (network monitoring) and decided I would use the unemployment to change careers. Been a rails dev for 3+ years now, so I will convey what worked for me.

The requirements for a full stack rails developer are not what i would consider low. I don't think they're unreasonable, but there's a lot involved.

Sorry, this devolved into general "new dev" advice / what you need to learn; hope its helpful.

1\. Watch railscasts - try to watch all of them. Make it your new TV show. You don't need to "get" everything, you just need exposure/familiarity.

2\. Have ideas and ideas of how to build them.

3\. Build things full stack - such as one of your ideas. be someone that gets things done. this also means that you'll face problems (like search, caching, uptime) that you'll have to solve in your side projects, that will give you experience to use professionally.

4\. Deploy to a server via capistrano. You should also know how how to do heroku, but you'll be more useful if you can setup and deploy to a live server.

5\. Understand testing; either test_unit or rspec - it depends on you which you prefer. familiarity with both isnt a bad idea either. You should develop a sense of testing philosophy - not everything has the same testing priority. But you absolutely should know how to test in unit and functional full-stack - testing is a big deal in ruby/rails.

6\. watch the "is TDD dead?" talks with DHH, martin fowler, and kent beck.

7\. learn git & github. I recommend "git essentials training" on lynda.com

8\. dig into ruby - after you know the basics, "the well grounded rubyist" by david black is a great read, and gives you insight into the nuances of ruby.

9\. "design patterns in ruby" by obie fernandez is good - i'd save for after #8 at the least, it's fairly high level and you certainly won't need it in the beginning - more a mid-level book.

10\. ruby tapas is great for little nuggets of ruby that can be insightful to know.

10\. Sandi metz is wicked smart - any of her talks online or books are worth checking out.

11\. checkout jobs on sites like weworkremotely.com and see what kinda stack people roll with to gauge what you need to know.

12\. learn an editor, like sublime or rubymine or whatever floats your boat. For sublime, i recommend "perfect workflow in sublime text 2" on tuts+. you don't need to be a master, but there are little tricks you'll learn that can help you be more efficient.

13\. stay humble and curious. It is far too easy for a developer to think they are smart and write amazing code and that they don't need to do or use X because they know better. I speak both of my own experiences, and what I witness from others.

14\. Embrace change. How we build web apps is evolving and you should try to stay with the times. How rails 2.x got things done is different from how rails 4 does things.

15\. Be conservative. This is somewhat contrary to #14, but that's because there is a balance to be struck. Neither as an extreme is healthy. You should be reaching for pre-existing design patterns or whats built into rails, before reinventing the wheel, or pulling in a gem. If you do, have a good reason.

<comment><USER8> +1 to this whole list. Great advice.

</comment></comment><comment><USER9> I think you have a good start.

Don't forget to use lots of resources already mentioned: -StackOverflow -Codeacademy -Udemy -Khan Academy

To really ramp up your skills. Build small projects and go from there. This is coming from someone who barely has a coding background but is currently dabbling in Control Overflow in Python. Good luck with everything!

</comment><comment><USER4> Those skills would get you callbacks. The killer in South Florida, at least, is the "3-5 years experience" requirement so often seen in job postings. A nice portfolio could overcome that hopefully.

<comment><USER2> ...having been in several organizations in recent years which are challenged to find enough people, everyone says 3-5 years, but everyone will hire someone with obvious talent, a portfolio of stuff on Github and enthusiasm to learn, at much less than 3-5 years of experience.</comment></comment>


Hipsters, gin and the Basket of Goods - <AUTHOR> https://visual.ons.gov.uk/hipsters-gin-and-the-basket-of-goods/ <comment><USER2> Never mind the content, this is a great example of accessible web design. It is usable both without Javascript and without styles.

</comment><comment><AUTHOR> Frustrating.

Maybe this is a better link: [https://www.ons.gov.uk/visualisations/dvc399/shorthand/index...](https://www.ons.gov.uk/visualisations/dvc399/shorthand/index.html)</comment>


Ask HN: What goes into a great startup blog? What do you like to read? - <AUTHOR>

Recently we started a blog for our company, to share our experiences as we go through Techstars NYC.
It got me wondering-- what is worth writing about in a startup blog, considering every startup seems to have one? What would you like to read? What is missing from other startup blogs?
Would love to hear any thoughts.
(Specifcally for us, our audience is node.js developers who would be interested in a dev platform and next gen PaaS. Here is our first post: https://bitly.com/lsq-b1) <comment><USER2> I think a startup blog should communicate a personality, the thoughts, value and experience of the particular startup. Obviously for the content side, you're going to write about your product. But while your product evolves, can I read the growth? For instance, would be great to write about new features as solving more problems for developers or making their lives a bit easier. Good luck. Hope the blog becomes a venue where audience witness your growth. :)

<comment><AUTHOR> Thanks for the response! I really appreciate it.

Very interesting thoughts. Makes perfect sense-- if a startup's blog doesn't show the startup's growth, it would be like a baby who doesn't age-- boring.

Thank you!</comment></comment>


Current web style - <AUTHOR> http://www.webdesignfromscratch.com/current-style.cfm

<comment><USER2> I guess since the point of most websites is to deliver content, style should really just make that easy, and not annoy people. But still...seems like websites are getting more uniform (especially the examples we see there).

Last website I made, I just copied an old .css file, made 5 minutes worth of changes, BANG, style. I'm pretty sure that's the industry standard process.

</comment><comment><USER3> This is a great site, they do indeed sum up the current style in web design.

</comment><comment><USER4> The points made are mostly quite sensible, which is why it's funny that the site itself looks a little jumpy...</comment>


Rindfleischetikettierungsüberwachungsaufgabenübertragungsgesetz - <AUTHOR> https://en.wikipedia.org/wiki/Rinderkennzeichnungs-_und_Rindfleischetikettierungs%C3%BCberwachungsaufgaben%C3%BCbertragungsgesetz <comment><USER2> For those unaware: In German you may chain an endless amount of nouns to make compound nouns, which in some other languages would be expressed in constructs like "the A of B of C of D ...". Some languages seem to share this characteristic, but do not tend to build so long compound words usually. Once you know the vocabulary of course it is easy to mentally break the long compound noun apart into its pieces and make sense of it.</comment>


The world's most valuable resource is no longer oil, but data - <AUTHOR> https://www.economist.com/news/leaders/21721656-data-economy-demands-new-approach-antitrust-rules-worlds-most-valuable-resource <comment><USER2> No one on this thread seems to have read the article - the article is about trust-busting Alphabet, Amazon, Apple, Facebook and Microsoft. As far as I can tell, everyone on here (at the time of my posting this comment) is squabbling over the title, arguing whether oil or data is more valuable, the dubious definition of data, hard vs. soft goods, etc.

The central thesis of the article is that these companies have become large and the barriers to entry which come from this size may be perceived as being against the public good, as in the case of Standard Oil. That is what is meant by, "Data is the new oil," \- it has nothing to do with the actual perceived or actual value of oil or data, but rather the idea that while it is impossible to compete with these companies. The Economist goes on to state that it is no proponent of trust-busting because, "size is not a crime," as they put it so therefore we have to regulate the capture of data in different ways.

</comment><comment><USER3> The movie "Sneakers" made this point in 1992:

"Cosmo: There's a war out there, old friend. A world war. And it's not about who's got the most bullets. It's about who controls the information. What we see and hear, how we work, what we think... it's all about the information!

The world isn't run by weapons anymore, or energy, or money. It's run by little ones and zeroes, little bits of data. It's all just electrons."

<comment><USER4> I read that last word as "elections" and the statement seemed quite prescient.

</comment></comment><comment><USER5> > many of their services are free (users pay, in effect, by handing over yet > more data)

Not just with loss of privacy, they also pay with increased cost of goods and services that are used to pay for the advertisement

> Governments could encourage the emergence of new services by opening up more > of their own data vaults or managing crucial parts of the data economy as > public infrastructure, as India does with its digital-identity system, > Aadhaar

Since we are worried about privacy, let's give government the power to identify and track individuals based on "ten fingerprints and two iris scans" [1]

[1] [https://en.wikipedia.org/wiki/Aadhaar#Overview](https://en.wikipedia.org/wiki/Aadhaar#Overview)

<comment><USER6> This assumes that advertising will not be paid for otherwise, which is not true. Digital advertising might be cheaper than traditional one

</comment></comment><comment><USER7> This article is wrong not because as some point out oil is still more valuable commodity, but because it targets the wrong product. The most valuable resource is knowledge not data. I can sell you trillions of data points from many different devices and sensors, but in itself they are worthless. However, if you can get any insights, any knowledge from these data point the situation will change. It it's not the data that's important but the resulting knowledge.

It's like iron ore (in this case data) - in itself it's pretty much just a rock, but if you can extract the iron (knowledge) the resulting product is much more valuable.

Some companies are waking up to this fact, but the knowledge as a resource is still underutilized..

<comment><USER8> The value is in extracting meaningful information for decision making using data. Data is the crude. The one who wins is the one who knows how to make it fuel?

</comment></comment><comment><USER9> > The world's most valuable resource is no longer oil, but data

As I read this I'm sipping clean, drinkable water.

Give it a decade or so. If you thought the wars over oil were bad, wait till you see the wars over water.

<comment><USER10> Why do you think water is going to run out in a decade?

70% of the planet is water. More water than all of landmass and biomass?

The Suns not going anywhere. If you figure out the oil problem with renewables then I'm pretty sure we can figure out the desalination problem too.

I would say once we humans figure out cheap distributed energy (solar/wind) a lot of things become easier.

</comment></comment><comment><USER11> I give much higher odds for a crash in the value of data vs the value of oil. Oil has fluctuated tens of percents, but data swings from "valued at hundreds of millions" to "nobody wants to buy it". For a recent example, see closing sale of Yik Yak.

</comment><comment><USER12> One of the insights about data as a resource is that it is renewable. Every year, there are new 18 year olds joining Facebook volunteering their data (same for other user data mining companies).

</comment><comment><USER13> Plain wrong. To compare company sizes:

Google est. $500 billion Saudi Aramco est. $10,000 billion (!)

Google is ~5% of Saudi Aramco.

<comment><USER14> Such a bizarre comparison. Google is not all data, and Saudi Aramco is not all oil. Saudi Aramco also has refining and shipping operations. Finally, Saudi Aramco is privately held by Saudi Arabia, not publicly trade and valued my the market.

<comment><USER15> The company itself might not be traded on stock exchanges, but the products are. Which means, the moment you own 20% of all the oil on the planet, and 25% of the gas [1] , you can compute the value of the company quite easily.

And this value dwarfs Google and Apple very easily.

[1] [http://www.londonlovesbusiness.com/business- news/finance/sto...](http://www.londonlovesbusiness.com/business- news/finance/stop-the-press-apple-is-not-the-worlds-most-valuable- company/3250.article)

<comment><USER16> I know very little about economics, but it seems very weird to me to compute the value of an oil company based on the current price of oil and the reserves it owns. Not all oil it owns is for sale right now at that price and it is very unlikely that the price for oil will stay the same until all reserves are depleted.

<comment><USER10> Market value is speculation based on future profits. Sure oil is currently the most energy dense means of portable energy storage in a somewhat affordable manner.

But do keep in mind half of oil goes to fuel cars. Once cars become electric and solar chargers pop up in cities things change considerably.

We only rely on oily and pay absurds amounts of money to Saudi Arabia since we have little choice. Once the alternatives become cheaper, it's better both economically and environmentally to distance away from Saudi oil.

Sure Saudi can make oil cheap as dirt to combat alternatives but then they aren't making as much money. I don't foresee a scenario that in 20 years Saudi oil demand will keep on rising.

Their entire economy is based on natural resources. Not a great place to be.

</comment></comment></comment></comment></comment><comment><USER17> something physical vs non-physical. The value association to oil is well known and varied, while data's value is still in its infancy.

I still believe the accuracy and trustworthiness of said data would still have to be proven or guaranteed in some fashion in order for it to become considered a true resource with a tangible value attached to it.

Possibly have an associated physicality to it (i.e stocks attached to companies, money attached to physical currency/gold etc..).

</comment><comment><USER18> This was always the case. Even when oil was "the most valuable resource", the one thing more valuable than oil was data (about oil).

<comment><USER17> Very true. Data about oil is also plagued with the fact that it too cannot be fully trusted to a high degree, unless that data is associated with physical evidence (actual production), which even then cannot be 100% reliable.</comment></comment>


Codeanywhere IDE Exposes Others' Files - <AUTHOR>

While using Codeanywhere (https://codeanywhere.net/) and creating a new directory on the remote FTP server, the result was a folder filled with over 3,600 files that don't belong to me.<p>I've notified Codeanywhere, but even though I got a response "Will look into this right away.", there's been no follow-up.<p>...just in case you're a Codeanywhere user, here's the list of files: http://pastebin.com/GavSHqtv<p>(That being said, I liked Codeanywhere over Cloud9 and was about to subscribe. Should I still?) <comment><USER2> There's no way I would use Codeanywhere if what you're saying is true. In the worst case scenarios, you were given direct, unauthorized access to a stranger's personally identifiable information. What makes you think your information will be more secure?</comment>


Digitally weary users switch to 'dumb' phones - <AUTHOR> http://www.ft.com/intl/cms/s/2/01ba2970-9e70-11e5-8ce1-f6219b685d74.html#axzz40uwFLMBc <comment><USER2> I recently got rid of my cell phone. There are a lot of benefits and just about as many negatives. Overall, I think the benefits outweigh the negatives. For context, I've been on-call for the past 7 years since the start of my career, so ditching the phone probably comes from that. fwiw, I have a land line, but that's about it.

Positives--

My instinct is no longer to check my phone when I'm bored or waiting. It was rough at first, but I can be pretty content just standing in a line with my own thoughts.

Nobody can call me at any given time, whenever they want. Social anxiety has a mental toll on my energy, so not having a phone around gives a significant boost.

It's easier to accept not knowing something.

Plans are planned significantly more concretely.

Negatives--

"You don't have a phone?! What's wrong with you?!" -everybody

Not having a GPS/google makes things hard to find in certain circumstances.

There's a huge expectation when dealing with any modern service that you'll have a cell phone and can be contacted at any time. For example, it's impossible to order an Uber on a laptop.

(I realize the article is about smart->dumb, but the problems are still surprisingly similar)

<comment><USER3> A negative for me would be not being able to read whenever I have to wait on something. I have read more books than ever before because I have them on my phone.

It sounds like a lot of people in this thread do not need to quit using a smart phone, and instead need to quit facebook. I don't do FB and do not have many alerts at all on my phone. My email apps are smart enough to only show me alerts for things that matter and everything else I get to when I get to it.

I do agree with you on one thing though. When hanging out with people leave your phones in the car. Nothing is more annoying that having a conversation and people messing around on their phones.

<comment><USER2> Sometimes it's not as easy as just quitting facebook. This argument comes up a lot, but it's a solution that works entirely on a case-by-case basis.

When I had a smart phone, the methods of communicating with me were email, work email, work IM, facebook, skype, hangouts, phone, and text. Because of work, it wasn't possible to do airplane mode and it wasn't possible to do a sleep-mode bypass for specific phone numbers because of the oncall situations.

The only way I could find to manage notifications properly was to essentially create a black list for my contacts and blacklist all apps. It worked up until somebody on the black list needs to reach me, so they get added to the white list to avoid the issue. Oh, shit, they're texting me while I'm trying to work - back to the whitelist!

It eventually just becomes an incredibly tedious task to manage your notifications properly - which in itself is a dang distraction.

Agreed on leaving phones elsewhere - just as long as you live in a decent area. Some of the most awkward times I've had recently are while hanging out with others where everyone is on their phones and I can really only just twiddle my thumb. Bringing the subject only results in "hipster" comments, rather than an actual discussion.

<comment><USER4> Many people have two phones (and two accounts for every relevant messaging service) for that reason; one phone for normal communication and one that people are told to only contact in urgent cases. If you manage to make people adhere to that you can put the normal phone in airplane mode as needed while still being reachable for important things.

<comment><USER5> Android and iPhone both have software settings that can mute calls and texts from anyone who isn't on a whitelist. I use the "Blocking Mode" on Android all the time: if you call me after 11pm and aren't on a short list, you go right to voicemail.

<comment><USER4> For some cases that works great, but whitelists fall short when the same people text you both for important and unimportant reasons.

</comment></comment></comment></comment></comment></comment><comment><USER6> For those not willing (like me) to take the plunge into the world of no phone or changing back to a plain old flip phone, try just using Airplane mode on a regular basis.

I do this all the time when I want peace and/or focus and it does the trick for me. I still have the benefit of a phone nearby if I have a genuine need to make a call or to get some information, but I don't have the inbound calling or popups which come with having data enabled.

<comment><USER7> After reading an article on how multitasking kills your productivity/IQ, I decided to take a step that's similar: disable all my notifications. (I'm not sure how possible this is on Android, but on iOS it's relatively easy) The only things I have allowed to give me notifications anymore are: calendar, to do app, and the actual part of the phone that makes calls. This gives me similar to what you're saying: I have my phone available so that if something bad happens to my wife, I can react to that immediately, but otherwise it will remain silent so that I can deal with things in a more "pull" manner than having a million things "push" into my attention. (I also cleaned out most of my apps, because most stuff on iPhone is designed to take over your life and make you a zombie addict to them, and screw that)

<comment><USER3> You can turn on Do Not Disturb and setup people like your wife so her calls/texts always come through. I started doing this with my phone anytime I want some time to think without being bothered.

<comment><USER7> I used to do this when sleeping. Now I've decided that I dislike getting any kind of notification unless it's objectively important. (thing I need to get done via to do app, phone call, though with the latter I can still get spam, but the rate at which those come through is low, so I still see them as important) And I can still turn on some notifications in some circumstances. For example, at a convention recently, I turned SMS and Facebook Messages back on so I could coordinate with people easier.

</comment></comment></comment></comment><comment><USER8> Or you know the other option. Uninstall facebook and twitter and instgram and snapchat and....

Your battery will last much longer. You won't get constant popups showing you your life isn't as good as your friends lives. And you can access the internet if you need to.

<comment><USER9> I do this as well, and I wish people did this more, it really is sad when I am supposed to be the "computer nerd" and everyone else is glued to a screen longer than me. I also get less of people's attention nowadays as a result.

</comment></comment><comment><USER10> I understand the appeal of this, but I feel like the only way to get through the modern world is to build up the antibodies to these distractions. We can't all reasonably hide ourselves away in quiet country houses either literally or figuratively. Giving up the conveniences of a smart phone for the truly useful things in order to avoid the distraction of notifications and boredom-browsing is the kind of measure that might be necessary for the truly addicted, but for most of us I think it's cutting off ones nose to spite ones face. How about just starting by uninstalling Facebook and turning off notifications?

<comment><USER11> Not a FB user, but actually it can't be uninstalled.

I had an Android phone with no FB (I probably deleted it after I got the phone), and after the system upgrade it got installed without me agreeing to it. And I can't seem to undo it.

<comment><USER12> To be clear that's because the FB binary is baked into the firmware. Buy a better Android phone that doesn't stuff your default install with nonsense.

<comment><USER13> Or find a custom ROM like cyanogenmod

</comment></comment></comment></comment><comment><USER14> I have never owned a smartphone. For the last six years I have not owned any kind of cell-phone, period. For the past four years I have used an Ipod touch so that I can make VOIP calls and check the web if there is wifi around. Despite what you might think, not having a phone is pretty liberating. If I get lost then it is up to me to find my way. This has lead to some super scary situations driving to and from the Oakland airport. Every time people ask me if they can give me a call on my cell phone I have to explain to them that I don't have a cell phone and that I use an Ipod instead, which can be awkward. I have had a few situations where people came up to me and desperately begged me for the use of my phone because they lost theirs or were presumably experiencing some kind of emergency. Now I know from experience that people will not believe you if you tell them that you don't have a phone in that context. If you go without a phone you will quickly learn that people have completely abandoned the concept of meeting at a place at a certain time and planning it a day or two in advance. Also people look super stupid when they are glued to their phones, especially in the car. I do scoff at those people and it feels good. Anyway, I will probably be getting a dumb-phone soon. You need one for two-step authentication and many other services nowadays. And also it is much easier to just provide a number when people ask for your cell number rather than explaining stuff to them.

</comment><comment> rm_-rf_slash I understand the appeal of partying like it's 1999, but for me the real measure of mental fortitude is having all the options and choosing to avoid them.

My girlfriend and I used to be on our phones all the time. It turned us into reactionary consumers of information and we didn't like how our conversations and feelings were essentially being dictated to us by our information sources, so we stopped using phones in the evening, and we have significantly cut back in the morning.

Working hours are hardest. The flip side of intense focus is a craving for distraction when energy is between peaks. I have experimented with the Pomodoro Technique from time to time, but so far I've had trouble breaking the habit long enough to make it an expectation rather than an exception.

But other HN users may find it useful. Pomodoro helps you work _with_ the time you have, instead of against it, and it helps enforce a protection from distraction by design.

[https://en.m.wikipedia.org/wiki/Pomodoro_Technique](https://en.m.wikipedia.org/wiki/Pomodoro_Technique)

</comment><comment><USER15> I had a Sony Ericsson for 3 or 4 years; for the first year or two it could go almost a week without charging (it was always on but I rarely used it). I'm still not a huge mobile user, but now that I have a smart phone it's nice to have Google search and maps when I need them. On the other hand, while I don't think my phone has much pull in my life, I can certainly see why a heavier user would want to get away from it. Sometimes it seems like all people do is stare at their phones.

</comment><comment><USER16> Speaking as someone with a dumb phone and standalone devices for many smartphone features... I don't want to carry an expensive, fragile device that needs to be charged at least once a day, and that does a mediocre job. My iPod Shuffle is several years old, lasts a couple of days, holds plenty of music, and survives rain, snow, mud, and being dropped with nothing but a bit of cosmetic damage. My phone fits easily in a normal pants pocket, costs all of $30 to replace if it dies, and doesn't require an expensive monthly data plan. My camera has an interchangeable lens and takes printable pictures, even indoors.

I see the potential advantages of a smartphone, but the tech isn't there yet, and it is moving in the wrong direction. I don't want a thinner, wider, taller thing with more pixels. I want a smaller, tougher, cheaper thing with more battery life.

</comment><comment><USER17> I had a flip phone until two years ago but it became a professional liability. I was interviewing at a tech startup in SF and the interviewer saw me pull out my dumb phone after the interview to check the time -- I got an offer, but not before the interviewer made a condescending follow-up call to ask if I was "willing and capable" to design for mobile because I had a flip phone.

Needless to say, I declined their offer... but I bought an iPhone shortly after so I wouldn't ever face that situation again.

<comment><USER18> Just give him some line about your side project needing to support WML :-)

</comment></comment><comment><USER19> I can understand that impulse. I find that I'm using my phone less and less over time, as I find the whole "install our app!!! check in with our server!!! let us track your location!!!" ecosystem increasingly irritating and just don't want to deal with it. I check my email, I send and receive texts, I kill time on the web, and that's about it. Sometimes I call a car with Uber or Lyft, too, but it turns out that [http://m.uber.com](http://m.uber.com) actually works better than Uber's app, and punching my address in is a small enough irritation that I generally just leave location services disabled.

Entering text hasn't gotten to be any less of a chore over time and browsing the web through a telescope hasn't gotten any less tiresome, but people have gotten more clever about exploiting the mobile web, and I just... well, I say, "fuck off, ad industry, I'll find something else to do rather than put up with you".

But I'm lazy, so I'm still using my Moto X, and it's not easy to figure out what kind of featurephone would be able to do what I wanted without irritating me, so my next phone will also more than likely be yet another smartphone whose features I mostly ignore.

</comment><comment><USER20> Just turn stuff off. I removed most of the Google services from my Android phone. There's no Google account. (At initial startup, you're prompted to sign up for Google. Choose "Not now", and then disable Google One Time Init.)

I miss voice dialing, though.

<comment><USER21> Do you skip Maps? That's one of the most concrete positives on a smartphone, to me, aside from phone calls, texts, and calendering.

<comment><USER20> I use ZaNavi, from the F-Droid repository.

It's not great, but it's OK.

</comment></comment></comment><comment><USER22> Have any of these people complaining about inherently low battery life simply tried turning off data when they're not using it?

<comment><USER23> What's the threshold where a device could be said to have good battery life? The article talked about devices with 29 and 38 days of standby time. If I turn off data and don't touch my phone, maybe I'll get three days. That's great battery life for a smartphone, but on the low end in the context of all cell phones.

<comment><USER22> I'm not sure what the cutoff should be, but at least a week. My smartphone uses less than 10% battery a day on standby. My last smartphone wasn't that different. And this isn't even in a spot with a good signal.

On the other hand if I let skype run on the data connection, it uses hundreds of megabytes of mystery data and burns out the battery in two days.

</comment></comment></comment><comment><USER24> I used a Nokia 208 for about 8 months last year, coming from a Moto G, and leaving to a Nexus 6.

Battery life was the best part by far. My phone wouldn't need to touch a charger more than every other day. One feature that I was glad to not be without was tethering-- it has a 3g radio, and after some setup I got tethering working on my laptop.

The part that I didn't like was not having a GPS and Camera. I used a sansa clip for my music, but I don't have a standalone camera or GPS. I wonder if I would have enjoyed sticking with a dumb-phone if I had bought a Garmin eTrex and a DSLR instead of a Nexus.

That's something that I think we take for granted with our smartphones: They're really not that good at what we use them for. My sansa clip has 128gb of storage and plays my FLAC library flawlessly, gets days of battery life, and is convenient for exercising. A DSLR will knock the socks off my Nexus 6's camera. An eTrex has enough battery life and precision to make sure I never get lost, and can be loaded with OSM data-- no internet required.

I think generally speaking, you know when you're going to want to take a photo, or be navigated via gps, or listen to music. So why not take the route that allows you to experience those tasks at their best?

I can't speak much for the social effects of it. I didn't feel any more in- the-moment.

<comment><USER25> Because getting a decent camera, standalone GPS, music player, ebook reader and phone is quite expensive for many of us, and the marginal benefit is often minimal (Offline OSM maps? Try OsmAnd. 128GB of storage? Most smartphones accept SD cards).

<comment><USER24> I don't disagree with you. These things are expensive, and I don't own a camera or a GPS or an ebook reader for that reason.

I will say this, though. my MP3 player cost $30 (+$50 for sd card) and my nokia 208 cost $30 on ebay. I'll use my mp3 player for years to come, and if I didn't go back to a smartphone I'd be using that phone for years, too. I imagine a good camera, ebook reader, GPS, etc. would outperform smartphones for years to come, too.

It might be more expensive in the short term, but I think it can ultimately save money.

<comment><USER25> Smartphones last years, too. My 2012 Nexus 7 (I use a tablet + $20 dumbphone combo, not a smartphone) is still going strong - even after being literally submerged while turned on! - so I'm not planning to upgrade it any time soon.

Around here, we pay for our smartphones out of pocket (the vast majority of people have prepaid SIMs, not contracts), so you can bet we're not replacing our phones every year :)

</comment></comment></comment></comment><comment><USER26> I'd pay a lot of money for a medium-smart phone: one which has only the essentials like calling, Google maps, email, camera, and maybe Uber. I'm not on Facebook but I have a horrid news reading addiction. I only keep a smartphone because I don't want to lug around a separate GPS unit, dumbphone, and camera. And because it's actually as cheap to have a smartphone on Project Fi as it is to have a dumbphone on the cheapest provider. Ugh. I don't want a smartphone which makes me such a consumer of mindless news and entertainment! But here we are...fighting the good fight, trying to avoid wasting time on a device which seems to encourage it.

</comment><comment><USER27> That or just be more focused with what you want to do in your life. I have an iPhone 6s and I don't spend hours a day on it (if not for dev work), I am too focussed into other matters. Anybody can do the same. It's not what you have around, but how you use it.

</comment><comment><USER28> Switching to 'dumb' phones is probably not feasible to me at the moment, for several reasons: 1\. When I'm bored or waiting for something, usually I read books/comics. Not so much on games anymore. 2\. I'm into digital photography. It's much easier to send your photos from the camera to your phone via wifi and do the postprocessing there, instead of using Lightroom on your PC/laptop. 3\. Messenger apps like Whatsapp or Line. Curiously, I use them more than phone calls :p 4\. Blogging

</comment><comment><USER29> I had an LG cosmo up until the middle of last year. I finally had to ditch it for an iphone because imessages broke texting. I was missing texts because of imessage. Group messages were a pain because there was no way to turn off notifications (phone buzzes anytime someone responds) and messages would be out of order or missing because imessages. I wonder if any of the 'new dumb phones' are better equipped to deal with these issues.

</comment><comment><USER30> Phone is more a way of socialization than a useful tool.

[https://en.wikipedia.org/wiki/Reinforcement](https://en.wikipedia.org/wiki/Reinforcement)

The real tool is in the access to the human knowledge with Wikipedia but people don't do that too much. They play games and send textos.

<comment><USER31> This was my reaction exactly. On the one hand, I'm sick to death of modern phones that can't hold a charge, keep crashing apps, and get super hot after just a few minutes. On the other, a dumb phone seems too excessive a reaction. I mostly don't use my phone to make calls. I use it to read. There's something to be said for a phone that has a nice touch screen but doesn't provide a browser, just a few basic apps for reading and taking notes.

A few months ago[1] I was day-dreaming on HN about an alternative to html designed from the ground up to minimize webpage bloat and avoid tracking. Now I have a further refinement in mind: build a device that has exemplary reliability and power-utilization with a big touch screen and a cellphone number. Build a bare-bones browser for it supporting a tiny subset of html (no images, so no pixel tracking). Have the new device proxy through an ISP server that also as a bonus filters out ads and third-party cookies. Gradually encourage people to build hobbyist or paywalled reading experiences out of the subset of html and fork off a new world wide web. Then win :) Or something. Who's with me?

[1] [https://news.ycombinator.com/item?id=10496611](https://news.ycombinator.com/item?id=10496611)

<comment><USER30> Do you know Gopher (the protocol)?

It's just a tree of directories and files. Files can be text like markdown, images or videos. I think it's enough for a lot of use cases.

<comment><USER31> Not a bad idea. That's actually the second time somebody's mentioned Gopher to me this week. (Was it you the first time? :) But yeah, if we're going for retro, why not go deeper.

</comment></comment></comment></comment><comment><USER32> I've owned a refurbished LG 505C (Verizon is still CDMA here) for more than 3 years now. I paid $9.99 for it. A battery charge still lasts a week. I spend roughly $100 a year for TracFone minutes. It's always been cheap and good. Nice to know that it's stylish now as well.

</comment><comment><USER33> I've rightgraded to a pay-as-you-go dumpphone, and largely go without it.

If you don't need to be constantly reachable, a phone isn't a necessity.

The biggest single pain point is for information while moving. A device with wireless capability, a map, and transit information would be handy. It also removes virtually all distraction modalities.

There are a few factors underlying this trend not adequately mentioned in the article:

1\. Phones suck. They suck as phones: poor voice/call quality, spotty coverage, poor coverage indoors, poor battery life, poor messaging capabilities.

2\. Phoning sucks. Yes, there are times when direct voice comms is useful. I spent a couple of hours in a productive international video call courtesy of Google Hangouts last week -- one of my few significant voice comms in months. But the lack of text-transcribing, syncronous nature (we'd set up the call days in advance), likelihood of interruptions, and failure of virtually all devices to offer blacklist / whitelist or meaningful quiet-hours capability are all horrible.

3\. Devices suck. Even smartphones lack many capabilities I'd consider essential (several listed above). The near-commodity nature of feature phones means that capabilities and interfaces are horrible. I'd be willing to pay a _slight_ premium for durability, a decent set of basic ringtones (melodies suck), and some sort of voice messaging system of my own choice.

4\. Privacy. Celebrity (and non-celebrity) nudes, voicemail hacking, messaging / email hacking, and absolutely ubiquitous advertising-based and, increasingly, governmental tracking are all massive turn-offs. If I don't need a pocket spy, I won't carry one.

Caveat to much of this: I've got a tablet. It's WiFi only, and 10'. This means it doesn't fit in a pocket, and isn't online when I'm travelling, but is often usable at stops (public WiFi is surprisingly prevalent, though yes, that too presents problems). With onboard storage, I've got vast amounts of stored information which I can (and do) access. With a bluetooth keyboard it's close to a laptop replacement (though I'd prefer a more capable OS and set of apps).

For road trips, it's quite useful: parked when not needed (or feeding to my car's sound system), pulled out at rest stops to check routes and hotels (I still rely on, and know how to use, paper maps). But it avoids many of the negatives of a cellphone.

Device identity is of course random strings and principle account is rarely if ever used.

</comment><comment> T-A Reminded me of [https://www.youtube.com/watch?v=OINa46HeWg8](https://www.youtube.com/watch?v=OINa46HeWg8)

</comment><comment><USER34> Note, this article is basically a plug for Light Phone.

</comment><comment><USER35> Don't call me, I will call you.

</comment><comment><USER36> One thing to note: no adverts on `dumb` phones.

<comment><USER25> Well, except for telemarketers.</comment></comment>