I love the idea that there was a terrible timesheet system called Agresso. And that it's still around today!
Some things do change with time. If this system was created today, I imagine it would be named something like quiesso or daisy.
It took just one slip of the finger to...
Unfortunately, it doesn't.
When intranet webapps came along everyone breathed a huge sigh of relief.
Not entirely. Sometimes they were replaced by applets, which are just native application wrapped in a thin layer of html. This causes its own set of problems. At one place I worked (a large government agency), a critical spreadsheet ran as an applet which was only compatible with IE9. They couldn't upgrade anyone's PC's because they risked an auto-update of IE, which would break the ability to run that app.
At another job, a certain time tracking application ran as an applet, requiring a specific version of the jvm to be installed.
Deploying an application that runs in the browser using the browser's native capabilties - js, html, css works great. Using it to embed an applet doubles the misery, as in the short term management thinks they've purchased a portable, always-compatible "web-app", while what they've done is bought a native binary they can no longer properly provision their workstations to run.
Not so fast. As a web developer we still had to contend with the horror of IE5/6/7 for a few more years, and initially WITHOUT anything resembling the utility of something like JQuery!
After a couple days it was assigned to an engineer for implementation and of course the first thing he did was unflatten it.
Amazing story, and I'm sure they've learned their lesson :)
So on Product Chart, you can for example say "Show me 300 smartphones and put the price on the x-axis and the size on the y-axis".
It's a bit like you would lay out things on a table and then organize them by some criteria.
Also similar, and by another HN user:
I miss a page like this for Canada.
In Germany, where I'm originally from, we have geizhals.de for product and price comparison that works a lot like these pages you linked and has been around for ages.
They have an English version you can check out here: https://skinflint.co.uk/?cat=nb (this links directly to the Laptop section so you can check out their filtering capabilities).
Here's their listing of price per TB for SSDs which is very much alike the diskprices.com page you linked: https://skinflint.co.uk/?cat=hdssd&sort=r#productlist
Geizhals is not only useful as a price aggregator, but also when it comes to product discovery itself - often I look for products with very specific attributes, which may be represented by different names and keys between sellers and manufacturers. Geizhals' ability to collect and aggregate them in such detail is second to none. At that point pricing information is just an extra.
These do not compare things such as sequential read, sequential write, random read, random write, temperature, MTBF, Backblaze outage percentages (statistical relevant), type of storage (SLC, MLC, AMLC, QLC, TLC, etc), chipset used, and so on, and so forth.
I'm scared shitless to check or use the battprices.com as it probably does not do anything like the above either. Which, in case of batteries, can cause something arguably more severe than bad performance or data loss: fire.
Don't use websites like these. Instead, read reviews and support websites which release quality reviews.
No fires will ensue just because you now know Duracell offering X is slightly cheaper than Energizer type Y per kWh even though the pack costs more.
Its more like a scatterplot with a grid overlay?
But then, I love scatterplots.
Looks very nice though.
This just makes me waste my time compared to a table where I can sort/filter by different criteria.
Most of the time, "creative" visualizations tend to actually obscure meaning, or worse, mislead viewers.
Recommended reading: Show me the numbers by Stephen Few (his blog is also great: http://www.perceptualedge.com/blog/)
Of course wasm is more performant as it matures, but they’ve been at this since 2015 and I’m impressed by how responsive the app is.
This company's web UI would allow its users to initiate bank transactions. Nothing weird from the user's end. However, the company had to "approve" the transactions in real time, synchronously. The company could do all sorts of programmatic verification on the user, recipient, transaction, etc, but we had to actually physically press a button on the screen of a smart telephone to approve the transaction. There was no programmatic way around this.
Some programmers at the company came up with a robotic arm which could be controlled programmatically, which would do the telephone screen pressing for us.
I always thought that was pretty clever.
Was this compliant?
I came across this site a few weeks ago. And it's quite unlike anything I've seen. And try to inspect the site using browser inspector. It's a very different ui than I've ever seen before.
So it works in firefox and chrome for me on windows. Not sure, I have pretty vanilla setup.
Enter Google Slides: the product for your uncle Joe and aunt Lysa to create their own websites without knowing how to code!
I even have an example website for you that I made as it is a project that I'm working on in my free time. I already remade the website in actual HTML/CSS/JS but I was simply curious how well Google Slides would work. IMO, it has a thing or two over Sketch (such as displaying GIFs, having links) since I made the actual layout with Sketch, and then redid everything with Google Slides to do a side by side comparison (I went too far with this :P).
There are a few things to consider:
1. Every page needs to be made in its own slide show as you cannot have different document sizes.
3. There are zooming issues because the pages are of different document sizes.
4. The fact that you need to define document sizes is noteworthy in itself.
So yea, not super duper practical, unless you aren't a web designer and simply want a simple profile page online, but definitely weird :D
Example website / project that I'm working on (and recreated to the best of my abilities in Google Slides for fun): https://docs.google.com/presentation/d/e/2PACX-1vRxqg4SNv1Sl...
One week, we were learning about farms which I was really excited for because his love for the computer was matched only by his obsession with animals. Sadly, his outbursts would require me to separate him from the group time where we would show them pictures of animals and learn about their sounds, functions, etc. This made me think of creating and interactive PowerPoint where I made a slide with options for “petting zoo”, “animals with jobs”, “wild cats”, etc. each choice would lead to a new slide with a set of photos, icons that played their sounds, and even tried creating a set of quizzes where I recorded an animal sound and he had to select a photo that matched.
I worked until 3 AM making this PowerPoint and was deliriously tired the next day, but man the joy this kid experienced while he got to play on the computer AND learn about animals without getting worked up over a multitude of decisions sparked something in me that made me decide I wanted to do something with IT.
Your idea really hit home for me and helped me remember one of the reasons I do what I do today - frontend and app development. Lowering boundaries and making technological concepts more accessible can inspire unexpected interest and adoption.
I think you just upped my motivation even higher to be in IT.
(Actual Hypercard is on the web now too: https://archive.org/details/hypercardstacks )
So it's really cool to see hyper card for real this time!
Oh! Of course! I presume you can also inject JS into Google Slides itself. Hmm... I'll see if I can make a simple game then, when I'm bored again.
It's probably already obvious for people who regularly uses google slides / keynote / powerpoint, but for me who very rarely use them (but often use various graphic editors) it's quite a revelation.
I think It‘s actually the best tool do this on the iPad right now. At first the links seem limited because you link to slide numbers, but they actually update when you move things around. Magic Move is beyond what any design/prototyping tool can do in terms of zero effort animation (though figma launched somehtng like this yesterday?).
Why did you try to talk her out of it? What was the gain? Feeling superior?
My main argument against using Google Slides is the URL was not going to be easy to remember when telling parents. I pointed her to things like wordpress or wix that would allow her to have a free account but also would allow her to have a URL that would be easy to communicate. She didn't want to spend any money on a domain name either.
It's all open source but probably doesn't compile on modern machines, and of course for extra fun we wrote the entire stack including the webserver, CGIs, cooperative threading, database layer and C libraries from scratch. From top to bottom this is the entire stack:
Edit 2: It was used in production for quite a long time, certainly until the 2010s. If you were in a UK school in the mid 2000s there's a chance you might have used this.
So for a long time this has been a widely used pattern! With today's dominance of (MVC || SPA) architectures I agree it's not as widely known as perhaps it should be.
Interestingly, Blazor seems to be reviving the whole idea. With SignalR, it is actually not completely insane to handle events with the equivalent of code-behind.
I don't really think it's useful as an actual web technology since you'd need to spawn a process, reserve a port, and keep a connection open for each and every user which seems like it wouldn't be workable.
It's a neat trick though.
The main downside I see is that every single keystroke needs a roundtrip to the server. Given a ping time of ~200ms that already makes it nearly unusable. So that leaves running broadway on localhost but then why use broadway at all? You might as well run it normally.
Anyways it's a really cool backend and I feel like with a small amount of work it could actually be used for web-apps, with the amazing advantage of basically eliminating front-end programming entirely.
It's full of examples with unconventional design.
They definitely dont all have weird UI, but some do.
XSLT is quite different and really powerful. I helped a friend once, he wanted to import his iTunes Db to Qlik for analysis. iTunes keeps its data, with number of plays and all statistics, in an XML file. Qlik has XSLT support. So it was just a matter of a couple of lines of XSLT to get all the data into Qlik. It literally went from a complete headscratcher to done with half an hour of studying MDN's XSLT documentation and some experimentation.
This in house framework was written before the advent of major web frameworks (at least in C# at the time) so I can understand where it came from. In fact, I still consider it an impressive feat of engineering. But XSLT to this day makes me shudder..
http://mywebsite.com/somepage.html/@say/Hey, neat somepage content, guy.
Some nginx redirects also included to take users to the comments page after submitting.
https://overwebs.ruph.in (warning - sound and high bandwidth)
It emulates a game UI, and uses background video to simulate physical movement when navigating between pages. It also incorporates some controls that are unusual for normal web applications like keyboard controls (shortcuts like 'Esc' to go back, 'Enter' to open chat).
It's a pretty old and very experimental project so some stuff is in a semi-broken state. I should revisit it sometime and clean up.
Animated backgrounds, infinite scrolling, elements that are only partially visible until you mouseover them, and uses zooming interface for opening individual posts.
Feels like a bastard child of GeoCities and modern web.
Careful: the further you dig, the weirder that site gets. Made by some guy (a "world famous artist") who uses the site as some weird recruitment tool for his cult. You could spend an entire day on that site and not see all of it.
You can do anything at zombocom
Nothing happens outside the context of a thread. So it leaves a log of everything that happened in that context. Graphical elements can go full-screen... but you don't lose connection to the thread that they appear in.
It will tile these threads across all your (funky, heterogeneous) screens.
I think this will help you to organize things, and homogenize and simplify your experience with those things across devices.
Imagine actually knowing where everything is, and being able to see who, when, and why anybody touched it.
But I’m not a web dev and I don’t know the real reasons why it didn’t get traction :)
The point is that you already have the infrastructure that is generating formatted HTML responses (partial views), and you are now re-using it. If you were trying to write a client-side application from scratch while avoiding the easy path of writing a server-side MVC app, then yeah, I can see how it would be more complex than advertised.
Source: I've built a couple of web apps using intercooler.
An example of this was http://carlyayres.com/ though it has since been updated to a non-editable page.
Smart home dashboard example: https://zircleui.github.io/docs/examples/home.html
Breezy's insight is that frontends are wildly complex due to the industry vertical (say.. childwelfare), so instead of shaping your state for business, breezy shapes it for content. Content being a header, footer, body as opposed to a post model or user model. This means each page is represented as a node in the Breezy Redux tree with its own header body and footer.
On one hand, it is annoying to traverse the pages to make updates, on the other, I can look at any running application and make close-to-correct assumptions on how to update the store. After all, most applications regardless of industry vertical has a header, body and footer somewhere.
How complicated would it be to do something like this for Ember, is it tightly coupled to react and redux? I might give a try at forking it.
BTW, if you like ZUIs read up on Jef Raskin's "Humane Interface" https://en.wikipedia.org/wiki/The_Humane_Interface
It has a unique capability: it loads quickly.
"I build the biggest software company of its time"
<Drops the mike.>
Completely blew my mind! Probably not practical but really make me wonder if anything is possible with webassembly.
Looked exactly like a WASM app, but running in IE.
Codepen has stuff you can actually see source code of:
I spoke to Gelernter at a conference, ages ago. His wares were being compared to JavaSpaces. IIRC, maybe because he had done some work on Linda, or his lifestreams was implemented using same, or something like that. No one really grokked what lifestreams was about or how you'd use it. (Jini and JXTA suffered similar befuddlement.)
Any way, I over enthusiastically encouraged him to repurpose lifestreams into a PIM (personal information manager, shows how old I am) unifying all one's communication and activities. To Gelernter's credit, he listened seriously and pondered.
I'm still waiting. :)
An idea I read about long ago is ring-based context menus. So instead of getting a square list of choices, one per line, you get each choice arranged in a ring around your cursor. So maybe Copy is at 1 o'clock, Cut 2 o'clock, etc. It would be easier to "target" your choice, and even easier once you learned the position of things. I don't know if this has ever been tried. Maybe in a game? EDIT: apparently this is called a pie menu or radial menu: https://en.wikipedia.org/wiki/Pie_menu
I seem to remember trying at least one X11 window manager that used pie menus back in the early 90s - but unless the apps have small menus with small labels, you just get chaos.
Also New York Times and other news site sometimes have really sophisticated interactive story telling or visualizations.
It's really hard because it behaves differently with different aspect ratios.
Now its just the same boring Bootstrap/Material design cookie cutter crap everywhere.
Mobiles pretty much destroyed all of it as we focus on making sites that can render well on any screen size now.
I don't have a good sense of whether or not users actually like it, though.
Think it's been around for a while, but pretty fun and weird. :)
For little admin/monitoring ui for Linux servers this is crazy quick to build. Probably would not want such sites on the Internet. Pwnd instantly if you have shell shock
If you have a good set of cli admin tools #youmightnotneedphp :)
Probably an old setup, nowadays the .exe would be hidden with a rewrite rule and you would be none the wiser.
Its the common advice that it doesn't work well for multiuser scenarios but I am curious if it is actually a problem for small scale sites.
Most sites I manage usually only got ~10x increased traffic during their peak hour compared to their least busy hour.
Or is he or she referring to the look and feel of the final product itself?
I use it almost every day.
It's not a particularly efficient way for users to traverse the content, but I think it's fun.
The site gives an intro to Distributism, a "third way" economic model that is neither Capitalism nor Socialism nor a mishmash of the two.
A small album of the best and worst of these submissions: https://www.reddit.com/r/ProgrammerHumor/comments/6fdl8h/an_...
For example, a widget might have a compile bug where the CSS rules to explicitly lay out component size only get included in media queries requested with devices using such low PPI that you never catch it in testing because your devices are not icky enough. This "bug" might then be "fixed" in an "improvement release" down the track that ships the explicit sizing to everybody... including your page layouts, which are now broken.
Or maybe you could ship a calendar control that includes a fuzzy date parser, and then remove the date parser "because it was confusing too many users". All emails from power users pointing out lost productivity because of their inability to specify dates like "2 1/2 days ago" or "-2h", or having "2018" map to today's date last year and "yesterday" also include the current time, are quietly sent to /dev/null. The calendar control is updated to use Material Design, two days of which are spent building a test jig to autoreload on 18 devices at once using remote debugging, as part of a subfeature sprint to ensure a certain cubic-bezier transition animation (which 4 people have collectively watched 537 times) "flows" correctly with the right... twang. A further day is spent turning an Arduino into a virtual bluetooth keyboard to ping the 18th device in the aforementioned testing rig; it stubbornly refused to not go to sleep, even when plugged in.
A decentralized bidding infrastructure could be implemented that uses Bitcoin to allow users to vote on which UI designs they like the most by sending money to different wallets. Much ado is had about how to rebuild a Merkle tree from first principles on top of the blockchain in order to implement the wallet tracking needed to power the aggregate collection needed to power the feature. After A/B testing (and some shady network sniffing) finds the UI library is only being used by people with 1Gbps (fiber/5G) Internet connections on devices with 8-core CPUs, it is decided to simply download the entire Bitcoin blockchain into the Web browser of every consumer of the UI toolkit to perform the analytics about which style to load on startup. No testing is performed on smartphones, and in the standup meeting for the sprint in question nobody remembers to point out that 8-core ARM CPUs are not the same as 8-core i9s. The stubborn team lead has sufficient karma to retain the feature even after the stunned bugreports flow in.
From a comment:
How to use it Desktop: Click to start, WASD and mouse to move
Mobile: Dragging on left half of screen is move, right have is look
Append any subreddit to the url to switch subreddits
It should work in any browser but if you have a good GPU it will help a ton.
Kidding aside, I love you HN. Don't ever change.
You have to download thousands of packages, keep track of various dependencies and their security holes, adding an overhead for auditing them.
HTML5 with jQuery IMHO still beats everything in simplicity and getting work done fastly
It's just that if nobody except you can understand the patterns you've created the code is not very maintainable in the long run. Sure it's probably fast and slick, but when you're gone can the next guy read your code? And more importantly, build on top of it?
It's probably because you haven't seen the light. I'd never ever go back to using jQuery unless it was for a basic marketing site - even then I'd probably think of using Vue if anything got more complex than a carousel on the page.
Because you can build a site with around half of the code if you keep it server side.
For the vast majority of crud based web apps that I've seen or worked on in the last decade, lambda would not have been a good fit. There's a lot of people drinking the serverless koolaid right now and applying it to scenarios that don't fit it well.
Have you actually built a lambda backed web service? Guessing no, or you'd know better than to complain about price. Plenty of better arguments to be had than the one lambda actually does decently on...
I'm not drinking any kool-aid, I've just broken down the math to see what it would actually cost. You can too if you know what your traffic looks like.
I have. It's pennies, literal pennies. None of those pitfalls actually end up adding up to more than pennies, everything there is entirely theoretical and does not actualize with substantial consequence, in my experience.
Page refresh loads are rarely the problem, its usually a database issue, or just a shit load of API calls to load different menus that would be done in one call with server side rendering.
If you can, don't use it to render entire pages. Use it for only the dynamic parts.
It is a 200-line library, and you get React's templating technology, which is the best part of React. You can use jQuery for updating the screen.
Nobody should be using jQuery in 2019 unless you need to target very old browsers. Vanilla JS works fine for the DOM.
jQuery got popular because it was easy, and good for quick and dirties, but it fails when you try to scale it to more than a few developers. It's not a bad tech but you can paint yourself into a corner with it pretty quick if you have to scale it across a team. You see bad code happens. Black boxing is a way of limiting bad codes impact on the overall system, because it is easier to rip it out and replace it. Functional programming is black boxes for back end business logic. Components are black boxes for the UI. It protects me from you and you from me and therein lies the importance of it.
I learned how to build dynamic web pages off of jQuery and for that I'm very grateful. I also appreciated the way there was little overhead if you just wanted to create something simple.
When HQ gave our business unit the task of redesigning the entire UI in whatever way we wanted - as long as it looked like the mockups - we decided it was time to move on from JQuery.
I had some experience with Angular 2+ at the time, so I tried that one first, but it was too heavy. Same with React for the reasons you outlined. The learning curve on both were steep as well.
Then I came across Vue. When I learned I could easily create an app as quickly as I could in jQuery, without all the dependencies, I knew I found a winner. We moved forward with Vue and although eventually we couldn't avoid npm/node, I still think it's the most beginner friendly and lightest JS framework of them all. That's just my opinion of course, i'm sure plenty will disagree.
Here's an article demonstrating how it can be used without node/npm:
EDIT: BTW that article includes Vue-Router and some other frameworks, but you don't have to use any of it. You can simply include vue.js into your HTML pages just like jQuery and write Vanilla JS for the most part, with the added benefit of turning duplicate code into components. Win-win.
Don't know how you reach your conclusion.
`npx create-react-app some-app-name --typescript`
(it was actually exactly 1000 dependencies which is freaking me out because the number was so round. wondering if it am counting lines wrong `ls | wc -l`)
Don't get me wrong, I would rather there were fewer development dependencies too, but they are tooling abstractions that you are _opting-in_ to.
If that is still a cognitive burden, then there's nothing to stop you using React a build step through a CDN.
No need to use Webpack, Babel, etc, but you will get lots of nice modern features that will make your life easier.
Noone is bashing Angular, whew!