I once worked in a program that allowed custom C# scripts to be written into it to add custom functionality. The way it worked under the hood however was that the code written in the text field would be stitched together into a longer file and the whole thing compiled and ran. The developers didn’t want people to have to write or understand boilerplate code like import statements or function declarations so the place you typed into was the body of a function and some UI was used to get the rest of the bits that would create generated code for everything else.
To add to that there was a section of global code where you could put code explicitly outside of functions if you knew what you were doing. This wouldn’t get code-generation-wrapped into a function, just at the top of the class. It did, however, only run and get runtime checking when one of the functions was ran. And since the program didn’t grasp that the global code error line number should be with respect to the global code block and not the function code block you could get errors on line -54 or whatever since the final generated file landed the global broken code 54 lines before the beginning of the function.
Not that any of this was told to the user. I only found out because early versions of the app wasn’t compiled with obfuscation so ILSpy let me see how they rigged the thing to work.
Error on line -54 will probably be what made me the most dumbstruck in all of development.
I’m surprised so few people have mentioned Thunder, which I use. Is there something keeping it from being more popular?
I know it’s not consistent but I read them like zsh = zee shell, ssh I spell out “s s h”, sudo I say /ˈsuː.doʊ/. or “soo dough”
Alternative hint: “Johnny _____ up your bow and play your fiddle hard.” From The Devil Went Down To Georgia
A shocking number of users would be hard pressed to figure out how to type in a url to a mobile web browser… or even know what that is, and they deserve a nice user interface too. App stores make it easier to find, too.
They said “primarily”, not “exclusively.”
I can only speak from the experience of one app at one company, but data we collected was for troubleshooting. Mainly because customers will email us stuff like “your app doesn’t work!!! Worst company ever!!” And absolutely no identifying information whatsoever. To make matters worse they’ll email with an email that they didn’t give us as a customer so how in the world are we supposed to help‽
So we collect enough data so whoever in the company might need to help them can actually do so.
There’s a lot of “this app is impossible to use!!!” That we find out with enough data collection is just them refusing to hit the GIANT button in the middle of the damn screen that would solve their problem. I hate users.
I believe we answered questions in the Apple and Google stores that says that we collect information and send it to 3rd parties (because analytics platforms are technically 3rd party) but not to sell it. I don’t know if that distinction is clear on the stores though.
This could be the opening line in a high school textbook for a course on how to use the Internet
…not that that should be possible though. It uses sumy to do the summaries.
You guys had better quit it with all this amazing transparency or it’s going to completely ruin every other service for me. Seriously though amazing work and amazing communication.
Or a classic: