Website Comments by FLASHPRO
I started getting heavy into a newer version of the site in January. Coronavirus has had me stuck at my work apartment for the last 5 weekends, which sucks for the family, but good for the site. I have most of the bones built, and expect it to be released sometime this summer! This version is an even bigger rebuild than the last. I spent months learning completely new programming languages and technology. I wish I did sooner! I can develop pages so much faster and more securely. A key difference is that it will use "serverless" technology from Amazon Web Services. This all cutting edge. It's built on the Laravel framework, with Vue.js in the front end. Laravel has a new service called Vapor, which lets me deploy the site as a serverless application. Everything executes on the fly and runs together on a virtual private cloud. It simply spins up new instances as demand increases, and there's no server to crash! Some things I'm using: Laravel Vapor - for deployment and overall management. Lambda functions - this is where the website code lives. The brains of serverless. If 1000 people visit the site at one time, 1000 instances can respond (in theory, but I'll have limits to protect my costs) S3 - simple storage service, file storage, mainly for images and database backups. Photos get uploaded here and it has unlimited size. RDS MySQL - database that can be scaled up as the site grows or needs more processing power. Data can be rolled back to any point in the last 3 days. Plus regular backups. Redis on ElastiCache - is like a database that is extremely fast for pulling frequently used data. CloudFront - a content delivery network (CDN) that copies the data around the world instead of everyone having to pull from a single server in Arizona. Route 53 - manages the domain name server and includes free SSL certificates! Simple Queue Service - lets the website defer processing of data outside of a user's web request, among other things. Results in quicker page loads for things like submitting a beer review. There are some other services I plan to get into later, such as image recognition and machine learning. The machine learning could be really interesting. By training models using tons of beer reviews, it should be possible to predict how a specific user will rate a given beer, and recommend similar beers.
3 years ago
The new site has a layout that works perfectly in both desktop and mobile, while not actually using different code. I don't think the new site should refresh the screen and lose your data, unless it takes you more than 15 minutes or so to submit the data. Sometimes I use the current site to leave reviews on my phone and it's a real pain because the form doesn't fit on the screen! The Drinking Now feature was supposed to add some interactivity because there are plenty of times when you're just having a beer that you've already reviewed. The new version builds on this, making it even more interactive. There's a beer/glass icon on the top menu that pops open to show who is drinking at any given moment. It updates instantly without you having to refresh the page. It also changes color to remind you that you're drinking something, and clicking the icon will have a quick link to for you to review the beer.
I've also added a "like" button to beer and brewery profile pages so you can simply like something without having to go through all the trouble of reviewing it if you don't care to. You can upload beer photos that go into a photo album of the beer. They can be made private as well.
Another feature that I've already got working is private messaging. You're able to have real time chats with people, even as you browse the site and change pages. It opens up a pop up that can be hidden so you can write in a review while alternating between the chat window and the review, or whatever page you're on. The popup has another drop down menu to let you switch between different people. It lets you know if you have unread messages from that person. There's a little notification that appears for a few seconds the instant you receive a message from anyone. The same notification area lets you know when you've received other bits of news, like uCaps, comments, beer pal request, etc. I've just started working on a chat room again. It's pretty simple to do now that I've got the private messaging working. People seem to love it or hate it, but there were definitely a lot of people who use it regularly before. Again, the goal is to give people something to do when they're drinking alone, and you'll be able to close the room window while you're browsing the site, without exiting the room.
Will brewery pages update more frequently? I think the beer ones do now. I was browsing the other day and one of our more prolific Canadian breweries, "Collective Arts Brewing" has 1204 page views, 78 beers, and ZERO reviews. But when I add up all the reviews, it's 128 or so. I've noticed similar issues on other brewery pages. Also, character sets. If I enter Fuller's or Beau's into the search engine, I get no results, despite both brewers having a ton of active beers on the site (if I truncate before the apostrophe I'm fine). similarly, trying to add a beer from a website with the word kölsch in the title can add funky results. And Czech characters, don't get me started on them :)
I wish I made this feature earlier... You'll be able to save a draft of your beer review. Not only that, there is a link to it on the main menu to popup your draft review from any page, as long as you are "drinking" the beer. I'm going to love this because usually I take notes as I'm drinking and don't like to submit my review until the end. The draft feature lets you enter and save any or all rating attributes, including a partial description, and won't let you submit it until all are filled in as usual. The idea was super simple. The "draft" just saves the data as a "deleted" review, so it doesn't affect any statistics, but still exists in the database table.
What about caching? I'm not as anal as cyrenaica so I don't pre-make my reviews and cut and paste into beerpal, I just like to type them right in. But sometimes after I type in my review, I hit submit, but forgot to enter the ratings, and I get an error message. When I go 'back' the review is gone and I have to start over again. So, caching a review temporarily would be a great idea I think.
I'm not sure how to cache inputs like that. I thought that was more of a browser thing. The draft feature should help you out. It's as simple as hitting a button each time you type something in. It saves the data behind the scenes without making you refresh the page or anything.