6 ms·
https://github.com/Clay-Ferguson/meta64 https://github.com/Clay-Ferguson/meta64 --> is still a work in progress, but if you want to see a great example of moder
by ClayFerguson 10y ago
https://github.com/Clay-Ferguson/meta64 https://github.com/Clay-Ferguson/meta64 --> is still a work in progress, but if you want to see a great example of modern architecture in a web app, check it out. Yes it's mine. It's running Google Polymer, JQuery, TypeScript, SpringBoot (with embedded Tomcat), Apache Oak JCR, and is a SPA that only updates the portion of the screen that changes. It never reloads the page. Full page reloads as a part of webapp architure has been totally obsolete and bad desing for at least 7 years now. SPAs are the best architecture for a lot of different reasons.
There is one part of it that is mildly interesting (on the site itself) which is the RSS reader capability here:
http://meta64.com/?id=/rss/feeds http://meta64.com/?id=/rss/feeds
- ec109685 10y agoThe initial load of the site takes more than 4 seconds on a Wifi on iPhone 6s. Also, edge swipe from right or left on iPhone completely doesn't work.
- ClayFerguson 10y agolol. I forgot to say look at the github code, not the site, because I have minification turned off right now, and I do have all modules loaded into a single file (so, big initial download right now). The app is not ready for users, it's in development. I will edit to show the github link instead. thanks. (It's the architecture of it that I'm bragging on, it's not fully production-ready code yet.)
- ec109685 10y agoBut what about it do you think is better than a traditional quickly rendered sever HTML? You have to do all this work that the browser would do for you via complicated JavaScript frameworks, merely to simulate a traditional HTML rendered page. Compare your site to Wikipedia for example. Which feels smoother, especially on a mobile page?
- ClayFerguson 10y agoHere's one of a million scenarios i can think of: Say someone is browsing nodes on the meta64 tree, then decides to edit one. I popup an editor and let them edit, they can then cancel out and go back EXACTLY where they were, without a page reload and scrolling back to where they were. SPAs are all about the fact that everything maintains state in a Javascript app until it's changed. A javascript application is like a computer program running in your browser. Whether you realize it or not, every page reload is a 'restart' of that app. Do you think an app needs to RESTART just because someone changes screens or soemthing? It's insane right? Without an SPA that is that is genuinely whats really happening.
- ec109685 10y agoThe browser will maintain the history if you opened the editor in a new page like HN does. For example, if I hit the back button or if there was a cancel button when composing this comment, I would return to exactly where I left off in the full list of comments. I agree you can get into a slightly weird situation if you hit the back button after composing a new comment but your site would suffer the same.
- ClayFerguson 10y agoIn my site, the back button takes you to the app you were at BEFORE you went to meta64. If you want to call that a problem fine. Most SPAs abhor the back button, don't want it, don't need it, etc. There is a reason native apps don't use the 'back' feature, but simply have 'cancel' buttons to get out of things etc. The fact that the back button is such a thorn in the side of non-spa apps is a good hint that non-spa apps are not ideal, unless browsing static documents. BTW even hacker news has a 'back functionality' that sucks. You have to go back then refresh. Meta64 is already vastly superior to other online social media experiences including wikipedia and including better than this HN site.
- ec109685 10y agoMost Native apps do have a back button. On android it is built into the phone. Also, serious question: if I navigate your rss outline, how do I go back and chose a different section to browse? Right now you are stuck in the section you chose and the back button closes the app.
- minitech 10y agoVisited your thing for half a minute. - Can’t open any of the pages in a new tab. - Can’t go back. - Can’t close the page without an “unsaved changes” prompt even though I didn’t interact with it at all. - Doesn’t maintain state when restarting the browser or navigating through history. - Doesn’t keep my scroll position when switching between tabs. Very painful if I clicked one accidentally. - Doesn’t seem to be possible to focus or activate tabs via keyboard. - Takes 3 seconds to load on my network. This is mostly up to latency, but making 119 requests totalling nearly 3 MB with no design to speak of yet probably doesn’t help. - Takes a further 7 seconds to start fading in (why does it fade in?) on my device (2012 MacBook Pro 13") on a cold start, 4 seconds if just hitting Enter in the address bar. - “Processing request” flashes on for a fraction of a second with an animated progress bar. How many progress states are there? And it doesn’t even do anything in this state except let you flip between tabs. If things that are not this way are obsolete, I will gladly hang back and be obsolete with them. But hey, the menu animation is very smooth!
- ClayFerguson 10y agoThere's nothing interesting on the site itself. It's a tool, i'm building. Like I said in the post the architecture is what I'm bragging about, not the app. The app is not tested, and all the things you mention don't surprise nor do they bother me. If you want to critique it, critique the code. I'm well aware what the state of the site itself is. Show me one issue in the code and I will thank you, but you won't find much fault there. :P
- minitech 10y agoAll the things I listed (and more) work by default. Your architecture broke them and didn’t benefit the user as far as I could see. Maybe list such a benefit if you’d like to argue for it?
- ClayFerguson 10y agoI showed you an F1 race car up on cinder blocks being worked on so you could see the engine design. You climb in, try to drive it away, and can't so you conclude the engine design is all wrong? Genius. It's not ready to drive yet (by the public), but that doesn't mean the architecture is wrong. The architecture is state-of-the-art.
- duval 10y agoThis poor example of an SPA is not going to convince anyone that Single page apps are a good thing. I think if an SPA can achieve all of these http://rauchg.com/2014/7-principles-of-rich-web-applications/ http://rauchg.com/2014/7-principles-of-rich-web-applications... with minimal additional payload, then it's good.