💾 Archived View for dioskouroi.xyz › thread › 24992517 captured on 2020-11-07 at 00:51:56. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

Show HN: Ugliest.app – Ugly but good app platform

Author: bloopbloop10000

Score: 434

Comments: 151

Date: 2020-11-04 20:01:22

Web Link

________________________________________________________________________________

andygcook wrote at 2020-11-04 21:12:32:

Made a quick ugly nostalgic website:

https://ugliest.app/l/faf7f8c5-cd2c-47ab-9cb8-f6daf27f74d6/T...

Warning: May contain sound

Edit: Accidentally left the token on the URL I posted and got pwned... :)

erichurkman wrote at 2020-11-04 21:56:51:

This needs a 'Best viewed in Chrome 86 on iMac Pro' banner.

arethuza wrote at 2020-11-05 10:07:12:

Or the dinosaur Mozilla banners...

madmulita wrote at 2020-11-05 12:41:59:

No blinking? So disappointed.

arethuza wrote at 2020-11-05 13:07:38:

Maybe a Java applet as well?

leovander wrote at 2020-11-05 08:16:50:

A little late with the reply, but here[0] was one of our resources for our computer graphics class when we were learning flash.

[0]

https://web.archive.org/web/20080726043830/http://www.heathe...

pailander wrote at 2020-11-04 23:42:47:

You're missing a visit counter.

andygcook wrote at 2020-11-05 02:55:47:

Im pretty sure I included one under the fire GIF. But might not be rendering on every browser.

pailander wrote at 2020-11-05 09:32:02:

You're right. On Chromium it renders all right. Beautiful work.

allenu wrote at 2020-11-04 21:31:01:

Nicely done. Is it still possible to change the cursor appearance? Might want to look into that.

andygcook wrote at 2020-11-05 02:56:34:

Missed opportunity. Unfortunately, I have no idea how to edit this site anymore because I didn’t save the edit link.

nobrains wrote at 2020-11-05 07:58:02:

And cursor trails!

doc_gunthrop wrote at 2020-11-04 23:39:21:

The 8-bit Led Zeppelin really ties it together.

snazz wrote at 2020-11-05 00:00:51:

I appreciate the tasteful pwning as well! This is great.

nobrains wrote at 2020-11-05 07:58:38:

Please include the mandatory marquee

gadders wrote at 2020-11-05 09:19:39:

Can you add a gif to let us know what webring you are in please?

zeroxfe wrote at 2020-11-04 21:29:03:

This made my day. Thanks.

aracena wrote at 2020-11-04 22:13:07:

hahahah I love this

hobby-coder-guy wrote at 2020-11-04 22:33:12:

All my sites had Queen midi files in the background.

Geocities

xoom (i think?)

Tripod

Angelfire!

BalinKing wrote at 2020-11-04 22:33:05:

M E S S A T S U

solox3 wrote at 2020-11-04 22:22:12:

Heads up for the creator: putting everything under ugliest.app allows pages to read the same cookies across different "apps". If anyone plans to use the platform for production (which you appear to welcome), nothing substantial can be done.

I forgot what made github.com switch to github.io. Something similar but totally separate.

teleclimber wrote at 2020-11-04 23:48:57:

> I forgot what made github.com switch to github.io. Something similar but totally separate.

Yep, here's the link that explains it all:

https://github.blog/2013-04-09-yummy-cookies-across-domains/

DaiPlusPlus wrote at 2020-11-04 22:24:48:

> I forgot what made github.com switch to github.io. Something similar but totally separate.

Same reason: to prevent user-generated/user-hosted content from being able to read GitHub.com cookies.

kevincox wrote at 2020-11-05 14:08:06:

Not quite, they couldn't read the cookies. But they could mess with the cookies on github.com somewhat.

The fully writeup is here:

https://github.blog/2013-04-09-yummy-cookies-across-domains/

maybevain wrote at 2020-11-05 07:00:15:

There's also the added benefit of being able to list the github.io domain on the Public Suffix List [1], which means that no cookies can be set for the top level domain, only the *.github.io subdomains. This prevents the platform users from accidentally revealing their cookies to every other app under the top level domain.

EDIT: to ellaborate for the interested, the Public Suffix List is used by browser vendors to decide what part of the URL is considered the TLD for display and cookie security purposes (and I imagine others).

[1]

https://publicsuffix.org/

klohto wrote at 2020-11-05 15:19:41:

Have I missed some major news about this attack? As far as I know, you're not able to read, just rewrite (or append?) the already existing cookies.

EDIT: The linked Github article states exactly that, is it out of date?

codazoda wrote at 2020-11-04 23:55:22:

The localStorage and indexeddb limits will also apply (10MB and 50MB on Chrome).

carlsverre wrote at 2020-11-04 21:22:56:

Heres my ugliest messageboard. Warning: no filtering, no moderation, no protection against any kind of abuse.

EDIT: new link, new messageboard, slightly harder to break

https://ugliest.app/l/e93dbf19-2cf4-4f6e-82a9-a763bb8fde6f/m...

carlsverre wrote at 2020-11-04 21:27:38:

well... that was spammed pretty bad in less than 5 minutes. mission aborted.

edit: annnnnnnd it's back!

ASalazarMX wrote at 2020-11-04 21:50:41:

Fastest website death I've seen. You deserve an achievement.

Nextgrid wrote at 2020-11-04 22:01:35:

What was the spam? Copyright infringement? Hate speech? Illegal pornography?

carlsverre wrote at 2020-11-04 22:06:24:

hate speech + porn

rafram wrote at 2020-11-04 21:28:14:

That died quickly, sad. :(

carlsverre wrote at 2020-11-04 23:50:48:

bloopbloop10000 - can we get an atomic increment operator? would love to add upvotes

6510 wrote at 2020-11-04 23:36:24:

it needs upvotes, deletion is only an option when at 0.

also: template: :12:48: executing "" at <insert "posts">: error calling insert: table "posts" doesn't exist

carlsverre wrote at 2020-11-04 23:41:19:

yea that was me defeating a delete bot :)

Yhippa wrote at 2020-11-05 00:44:20:

This thing is fun. I like. It was tense waiting to see live responses.

carlsverre wrote at 2020-11-04 22:29:31:

@bloopbloop10000 is there a way to html escape in the template language?

bloopbloop10000 wrote at 2020-11-04 23:17:15:

HTML is now automatically escaped to protect the innocent

carlsverre wrote at 2020-11-04 23:19:56:

looooooool that would have made my life so much easier. hope you enjoy my alternative solution

carlsverre wrote at 2020-11-04 23:13:24:

nvm I figured out a solution

raviolo wrote at 2020-11-04 21:27:21:

Oh man. No protections against abuse for sure!

exabrial wrote at 2020-11-04 22:05:10:

oh put it back up!

carlsverre wrote at 2020-11-04 22:06:35:

working on it

carlsverre wrote at 2020-11-04 23:13:32:

it's back!

kentiko wrote at 2020-11-04 21:28:28:

That was fun

carlsverre wrote at 2020-11-04 21:29:49:

haha I agree for the couple mins it survived :)

dataguy1315 wrote at 2020-11-04 21:30:44:

now I'm afraid to open it lol

carlsverre wrote at 2020-11-04 23:41:36:

it's back! enjoy

mmm_grayons wrote at 2020-11-04 23:24:02:

You should add a message length limit.

carlsverre wrote at 2020-11-04 23:29:32:

done - but since no server side controls it's not possible to completely enforce

bloopbloop10000 wrote at 2020-11-04 23:30:23:

added a 1024 character limit for each form field on the server side

carlsverre wrote at 2020-11-04 23:45:01:

nice! thanks

david90 wrote at 2020-11-05 07:53:53:

I was trying to save a photo there, but it doesn't work due to this update lol

t0astbread wrote at 2020-11-05 10:18:59:

This is like Firebase but actually fun!

Jokes aside though, I think there's a real use-case for something like this: Small multi-user CRUD apps, most often for a confined audience that don't warrant whipping up some kind of web server software and deploying it to a VM or a lambda function or whatever. Just create some tables, write some markup and you're done. Share the URL, it's live!

You could also use it for stuff like simple form submissions in otherwise static sites (Ă  la Netlify) or website hosting in general. Just have your static site generator spit out an ugliest.app bundle and deploy it using curl. You get some dynamic content generation for free!

Hopefully this does not sound insane but I think this idea of "something like Access, kind of, but on the web" is brilliant and necessary. I don't wanna tell you what to do but maybe open sourcing this would be beneficial? Judging by how fast you've been fixing bugs and adding features in the comments I figure the code is not a mess. People might just prefer contributing that one feature they were missing instead of writing their own web server for their tiny app.

mxuribe wrote at 2020-11-05 14:39:30:

> something like Access, kind of, but on the web

I do a little tech consulting on the side (mostly web dev, but sometimes just regular "IT stuff" too)...and I've had clients who i know would be a pain if i conduct the usual process for developing an app/website for them...and often (to save myself from headaches) try to look for a solution for them that is something like Access (or super Excel) but for the web...and haven't found one that is nicely balanced yet. This kind of thing - if it evolves a little more on the ugliness side - might eventually fit the bill. (To clarify: i have no care about the ugly aspect, but the same annoying clients who would benefit from this paradigm are the same ones who criticize apps because they're not "pretty enough"...So, there's that to consider.)

t0astbread wrote at 2020-11-05 15:03:22:

Exactly! As for the visual aspect, you can do whatever you want on your own pages. Just the handful of pages that make the editor are "ugly" (unless you can smuggle something like a user stylesheet into your client's browser). The question is if your client would use the editor themselves in the first place. It's not rocket science but that templating language might be a bit more daunting to a general audience than Access.

tskguarantee wrote at 2020-11-05 01:05:52:

Appears to have been flagged by google. Links are show Deceptive Site warning in Google Chrome on Android due to possible Phishing.

teleclimber wrote at 2020-11-05 02:01:01:

Dang. It's really hard to put something online that lets anybody be creative without someone coming in, using to do bad things, and getting the whole site blocked by google.

I guess nothing is going to change too since this conveniently serves to entrench the big platforms.

movedx wrote at 2020-11-05 01:38:58:

I'm getting the same thing on Firefox now.

pmiller2 wrote at 2020-11-05 08:35:36:

Looks like it's back to normal now. I'm no longer getting this warning.

mothershipper wrote at 2020-11-05 02:01:39:

related:

https://news.ycombinator.com/item?id=24994624

TheSoftwareGuy wrote at 2020-11-05 01:41:41:

Same on mobile safari

xyst wrote at 2020-11-04 20:18:59:

https://ugliest.app/l/ca885415-5559-48e2-8c28-1a49af5c1c43/g...

I created an app. How do I get 100M USD series A funding round?

doctor_eval wrote at 2020-11-04 21:04:52:

To maximise your valuation, just make sure you don’t have any customers or revenue.

gitgud wrote at 2020-11-04 21:43:56:

And you need to involve AI somehow to revolutionize a particular industry

SirYandi wrote at 2020-11-04 21:57:31:

Don't forget blockchain! AI powered block chain powered AI

duderific wrote at 2020-11-05 00:30:25:

Ha, my company is doing exactly that rn

sharker8 wrote at 2020-11-04 22:30:43:

Have it be multicloud and serverless.

jedimastert wrote at 2020-11-04 21:29:08:

I truly want to believe that you just wrote "not found"

thinkloop wrote at 2020-11-04 21:34:50:

maybe google acquired them

bigiain wrote at 2020-11-04 23:16:51:

I mean, the ultimate "fake it till you make it" power move would be to go straight to the "Our Incredible Story" acquisition/aquihire claim on your homepage linking straight to a Google Graveyard project, right?

(Then start posting on your LinkedIn about your new "career" hand building replica Inuit whalebone and sealskin canoes using traditional methods...)

xyst wrote at 2020-11-05 01:28:55:

I was hacked bruh

lizardmancan wrote at 2020-11-06 06:41:47:

you took the money and ran?

robertlagrant wrote at 2020-11-04 21:16:46:

Depends on what colour sleeve you chose to premiere your new MacBook Air in at the local coffee roastery.

red2awn wrote at 2020-11-05 05:13:34:

Rewrite it in Strategic communication [0]

[0]:

https://github.com/rotoclone/strategic-communication

Nextgrid wrote at 2020-11-04 22:02:42:

No React, Kubernetes nor micro services?

Sorry, not gonna fund that, it’s not scalable enough.

techsin101 wrote at 2020-11-04 21:05:43:

stealth mode

throwaway894345 wrote at 2020-11-04 20:20:43:

This is cool, but it seems to be broken. I tried to create a table called `test`, but I got `something went wrong but we won't say what`. It's also not clear to me what to do with a table (I don't see any options to add columns or data).

EDIT: Maybe it's just being hugged to death. Just about every action is throwing the aforementioned error now.

EDIT2: This would be really cool if it were self-hosted (obviously without the auto-deletion)!

tshaddox wrote at 2020-11-04 22:02:39:

You have to click the Docs link to see how you can read from and write to tables using a template syntax and HTML forms.

mst wrote at 2020-11-04 23:05:44:

> I tried to create a table called `test`, but I got `something went wrong but we won't say what`

That means it got an error while running git.

bloopbloop10000 wrote at 2020-11-04 21:20:34:

Sorry about that! Everything should be working now

lifeiscontent wrote at 2020-11-05 00:01:09:

I made an app.

https://ugliest.app/l/a92f89f6-0fe7-44c9-80a0-550f85428729/t...

elcomet wrote at 2020-11-05 10:22:46:

It's actually beautiful.

saagarjha wrote at 2020-11-05 11:57:52:

Truly minimal.

stefanmichael wrote at 2020-11-04 22:19:56:

"However many requests per second we feel like serving"

probably closer to the truth of competing cloud providers than it has any right to be

quickthrower2 wrote at 2020-11-04 21:56:17:

Not just for ugly sites:

https://ugliest.app/l/3aaebcf3-86a6-4fc9-9c4f-7d5721de91bc/r...

lhoff wrote at 2020-11-04 22:37:23:

I believe you got hacked.

Perhaps you shouldn't have shared the link with the token included.

quickthrower2 wrote at 2020-11-05 00:10:59:

Oh they put a password in a url. Doh, didn't spot that!

splatzone wrote at 2020-11-04 20:15:32:

It’s a shame you’ve chosen to delete everything after 24 hours. I understand why though. Maybe just make no guarantee that the apps will stay live, so I can share what I make with friends?

I like the plain design, very austere and to the point. It would be good if your copy was just as blunt and frank, tell us why it’s good and why we should use it

bloopbloop10000 wrote at 2020-11-04 21:14:53:

OP here— you make a good point about sharing with friends. Added a button to make apps last forever!

splatzone wrote at 2020-11-04 23:18:39:

amazing, cheers! great work

lizardmancan wrote at 2020-11-06 06:44:44:

forever is a long time

hamolton wrote at 2020-11-04 20:20:44:

something went wrong but we won't say what

I think you got the big hug

julianlam wrote at 2020-11-04 20:34:06:

Well, that's ugly alright!

runxel wrote at 2020-11-04 21:33:23:

I don't get it. Why has everything to be called an "app" nowadays?

All in all I have so many questions – Let's start with: "WHY, tho?"

Shared404 wrote at 2020-11-05 03:42:08:

> I don't get it. Why has everything to be called an "app" nowadays?

Because that's what people have decided. It is what it is.

> All in all I have so many questions – Let's start with: "WHY, tho?"

Why not?

I personally quite like the aesthetic.

swatkat wrote at 2020-11-05 01:19:04:

Safari on iOS 14.1 started throwing “Deceptive website” warning for the domain. It worked fine (i.e. no warning) an hour ago.

wayne wrote at 2020-11-05 01:36:00:

Ditto on Chrome with an all-red screen and "Deceptive site ahead".

ronsor wrote at 2020-11-05 02:10:16:

looks like phishers have already started using it

real sad

gnulinux wrote at 2020-11-04 22:29:06:

I love this, but it doesn't look like server-side language is Turing complete. It can only read, write, and delete rows; branches on admin; and returns a random number. Is it possible to extend the language in a way defining functions, if stmt and for loops are possible?

Since it already has if, I wonder if I can branch on things other than "admin".

EDIT: I stand corrected, looks like using `range .. end` you can actually loop.

EDIT2: if also works:

{{ if (rando 0 1) }}
     a
    {{ else }}
     b
    {{ end }}

prints a or b non deterministically.

EDIT3: I wish it supported operations like equality, addition, <, > etc

bloopbloop10000 wrote at 2020-11-04 23:37:00:

It supports eq (==), ne (!=), gt (>), ge (>=), lt (<), le (<=).

gnulinux wrote at 2020-11-05 16:37:26:

Awesome! I wish all functions were documented. Is this a programming language that I can google by name? I intentionally created some errors and googled the error messages but didn't find anything. Is this a homebaked PL?

aabbcc1241 wrote at 2020-11-04 22:47:25:

It should be called webpage or website instead of app?

hunter2_ wrote at 2020-11-05 00:07:22:

Nothing about the word "application," even when looking only at definitions related to computer software, suggests a particular platform, architecture, language, etc.

We qualify with "native" when we want to say that a given app was written specifically to execute on a certain system rather than on many systems as made possible by emulation, virtualization, web browsers, etc. so I would agree if this claimed to make ugly native apps.

jahn716 wrote at 2020-11-06 10:41:43:

In the spirit of procrastination, redid our landing page as ugly

https://ugliest.app/l/7658c63c-e4d5-43e3-89d6-42e095ed5b25/Q...

a_nar wrote at 2020-11-05 07:44:58:

Ported my personal website onto it:

https://ugliest.app/l/52ea894c-4a52-447c-ac4f-a3766315d905/t...

Added ugly to the name because why not

exabrial wrote at 2020-11-04 22:01:22:

Well it passes the Little Bobby Tables test... I created an app named "Robert'); DROP TABLE Students;--"

vagrantJin wrote at 2020-11-04 21:52:13:

I actually like the spartan no BS.

lxe wrote at 2020-11-04 20:16:39:

This sounds like a cool side project to implement when learning a new language/framework.

k2xl wrote at 2020-11-04 21:35:37:

Reminds me of expages.com from back in the 90s. Creating a website was simple. The "login" page to create an expage was the same as the sign up, so you could easily create new websites on the expage.com domain.

RandallBrown wrote at 2020-11-04 21:42:37:

My friends and I built huge networks of Expage websites. Even the popular kids in school made their own sites. Being linked to by certain people was a big deal.

I credit Expage as being one of the main reasons I got into software development.

david90 wrote at 2020-11-05 08:45:31:

Made a quick photo booth app here:

https://ugliest.app/l/586157ce-2924-4cb5-92d5-8bce59c5e40d/c...

The platform is good, but there are something I wanted:

1. Handling queries in js

2. event triggers

3. elements manipulation

david90 wrote at 2020-11-05 09:10:16:

I used a hacky way to chunk the photos into 50parts and save them in the tables.

csunbird wrote at 2020-11-05 10:21:10:

how long do you think that it will take for someone to post a picture of their genitalia?

sharker8 wrote at 2020-11-04 22:32:50:

How do you use the tables feature?

deckplecksetter wrote at 2020-11-05 06:47:36:

I love the simplicity of this. If it had a proper editor, I could totally see using this for small prototype webapps.

iddan wrote at 2020-11-05 09:25:39:

Similar but with a pretty UI:

https://amplication.com

https://github.com/Amplication/amplication

ronsor wrote at 2020-11-04 23:45:07:

Will the code for this platform be open sourced?

devenblake wrote at 2020-11-05 11:32:46:

DEVEN ZONE FOREVER

https://ugliest.app/l/19498c93-ee0c-4d8f-82ac-147145c477e7/i...

techsin101 wrote at 2020-11-04 21:06:15:

honestly good enough for 99% use cases

Geee wrote at 2020-11-04 21:55:55:

Using textarea breaks the page editor. Also, 'back to app'-link doesn't work.

bloopbloop10000 wrote at 2020-11-04 23:52:29:

Thanks! Fixed both!

snazz wrote at 2020-11-05 00:07:52:

Is the source code public? If not, do you have plans to make it open-source? I'm impressed at how fast you've been able to fix bugs and implement new features and I'd like to see how it works :)

zambodian2 wrote at 2020-11-05 02:21:56:

Crouton:

https://ugliest.app/l/03756676-f16a-4964-9a86-9e13b4735a00/2

geocrasher wrote at 2020-11-04 23:30:38:

Hmm this is useless and wonderful at the same time. Problem is, I'm a writer, not a developer. Can anyone link to a sample app that a development deprived luddite like me can digest?

defanor wrote at 2020-11-04 21:14:18:

Not sure what's ugly about it: it looks nicer and cleaner than most of the websites I see. I'm also not quite sure what's an "app platform", but this seems to be some sort of a web publishing service, and there's a bug on page creation: it leads to a 404 error page (possibly it requires JS, but doesn't say so, and works without it otherwise).

Edit: Noticed the docs page [1]. There's some scripting, so the uploaded pages are rather PHP-style scripts/apps, hence the "app platform", probably. Might be useful to link the documentation from the main page.

[1]

https://ugliest.app/docs/pages.html

xwdv wrote at 2020-11-04 20:47:05:

I would like to know the design of the multi tenant architecture.

crabl wrote at 2020-11-04 22:49:25:

Completely serious: in addition to "pages", if there was the ability to define "endpoints" that respond with JSON, I'd be in!

bloopbloop10000 wrote at 2020-11-04 23:04:09:

Added `tojson` just for you :)

crabl wrote at 2020-11-05 22:11:59:

Sweet! Thanks!

pollux01 wrote at 2020-11-06 13:43:36:

The mvp of mvp's

st0le wrote at 2020-11-04 21:19:06:

Where are the docs for the table API?

bloopbloop10000 wrote at 2020-11-04 21:22:43:

https://ugliest.app/docs/pages.html

david90 wrote at 2020-11-05 06:41:24:

Nice work! How can I call the insert/select/update APIs in JS?

poyu wrote at 2020-11-05 08:30:15:

using hidden forms and use js to submit?

poyu wrote at 2020-11-05 08:40:30:

best thing I've seen all week long! open source it?

hakube wrote at 2020-11-05 05:18:05:

Will you support custom domains? I love this platform tbh

makach wrote at 2020-11-04 21:10:24:

Nice work! The application is good, but GUIDs in the URL is bad...

bloopbloop10000 wrote at 2020-11-04 21:23:30:

Custom domains are in the backlog :)

pollux01 wrote at 2020-11-06 13:43:27:

the mvp of mvp's

metiscus wrote at 2020-11-05 01:14:42:

Somehow got listed as being deceptive.

fwip wrote at 2020-11-04 20:14:47:

I see why it's ugly - why is it good?

enos_feedler wrote at 2020-11-04 21:05:10:

Maybe because it is simple and free. Not agreeing with the author here just trying to understand where they might be coming from.

jeanlucas wrote at 2020-11-04 22:10:46:

geocities sends their regards :)

lexx wrote at 2020-11-05 00:29:52:

pretty ugly

federiconbo wrote at 2020-11-04 21:43:30:

bugly

sooougly wrote at 2020-11-05 00:45:53:

I just keep making ugly apps!

https://ugliest.app/l/3887bf7c-a636-4ddf-9763-1364458380d6/d...

imode wrote at 2020-11-05 00:50:46:

Nice try.

a_nar wrote at 2020-11-05 07:39:25:

hmm...

majkinetor wrote at 2020-11-05 00:15:54:

This is huge!

vmception wrote at 2020-11-04 20:23:25:

took too long to load, next!

people should just start immediately posting a screenshot or a screen record as their first comment because thats all I want to see usually anyway

fao_ wrote at 2020-11-04 21:18:46:

It loads in two seconds, so I hope this was ironic. Also, plain html is almost always going to be smaller than an image file.

vmception wrote at 2020-11-04 21:40:33:

Hi, it periodically got hugged to death and this. Assuming the creator wasn't monitoring all server traffic as part of their outreach campaign, flippant messages like mine can help to show the reality of people being bounced quickly and fix their server infrastructure or code.

asutekku wrote at 2020-11-04 22:49:18:

Flippant messages like yours do not provide any value and do not help any more than ”Seems like it was hugged to death”. Pretty much anything that is not protected by ”cloudflare & co” will be hugged to death by HN