8 ms·
Show HN: Ad Network for Sideprojects
- EamonnMR 6y agoThe subtile tilting of the example ad is slightly dizzying.
- Exuma 6y agoWow... you're right. I saw your comment and is like "what's this asshat complaining about now" I went there and moved my eyes around the example ad and immediately got vertigo and my stomach turned. Possibly it's from the dots...?
- Jake232 6y ago+1, instantly felt unsettling in my stomach.
- ezzato 6y agoNever noticed that while coding the frontend xD I will change the animation to something else. Maybe a little bounce. Haha
- fbelzile 6y agoAgreed. If you're going to start an ad business today, it should feel the least amount "sleazy," gimmicky? as possible. In case that was done on purpose to get more of your attention, that is.
- samtimalsina 6y agoI noticed something off about that ad too.
- aaronbrethorst 6y agoI thought I was having a serious neurological issue for minute there. Maybe don't make your product make prospective users nauseous, eh?
- ericholscher 6y agoPretty cool idea! We did something similar when we launched ads on Read the Docs, which we call Community Ads: https://docs.readthedocs.io/en/stable/advertising/ethical-advertising.html#community-ads https://docs.readthedocs.io/en/stable/advertising/ethical-ad... Basically, we show ads for OSS projects & conferences in the ad spot on a small percentage of our traffic. It's a nice way to give back, and in the past we've shown ads for many Pycon's around the world, the PSF's annual fundraiser, and a bunch more worthwhile community projects. The hardest thing has actually been finding projects that are well targeted for our community, and getting design assets for them. A lot of OSS & side projects don't have this stuff, and the ones who do probably don't need much promotion.
- ezzato 6y agoLove ethical ads! I guess finding OSS through an ad is not the right way.
- ericholscher 6y agoThanks! We looked at adding similar concepts to our new ethical ad network (https://www.ethicalads.io/ https://www.ethicalads.io/) but it’s trickier when we aren’t the publisher for all the sites. Still something we’re looking to add at some point.
- devops000 6y agoHave you considered accepting bitcoin?
- ezzato 6y agoI did but couldn't find a simple solution to implement that. The plan right now is to integrate flurly as a payment solution in the future.
- dheera 6y agoBetter yet, create a new side project shitcoin, we hackers each get a handful, and when the whales come in and pump it, it will #moon. (Release a white paper, fill it with lorem ipsum, those whales don't actually read the white papers, they only care that they exist.)
- ezzato 6y agoCreator here. Tiny ads is my attempt to create a cross site ad network for hackers and side projects. It's more an experiment than a serious business venture. The idea is simple. We place a little ad on each others page with a link back to ones side project. It privacy respecting (no user tracking) and will work in the beginning by me judging which project to include into the ad network. I hope to create a positive sum game and give cool projects a new platform. (The ad will start showing on March 15th)
- repartix 6y ago> will work in the beginning by me judging which project to include into the ad network. A solution to this problem that doesn't take your time is to ask projects to put down a deposit. Bad/spam projects don't get the deposit back. https://repowcha.com https://repowcha.com solves this.
- aaronbrethorst 6y agoPlease stop making your sample ad wiggle.
- ruiramos 6y agoGetting a 404 after adding the script tag to my page, just to confirm this is the expected behaviour for now?
- ezzato 6y agoYes, the ad endpoints are locked right now. Doors are opening on March 15th. I wanted to give this a slow start to have a credible amount of projects to show. Only ads with the script tag will be included to the ad network.
- nrjames 6y agoI can't help but think of web rings on Geocities.
- jb_s 6y ago
- Exuma 6y agoWhat software do you use to store impressions
- ezzato 6y agoI run postgresql in the backend. Right now most of the apps logic is written directly as postgres functions. After experimenting with datalog and mongo I settled with postgres. It's flexible enough for most situations.
- Exuma 6y agoLol gotcha. As someone who runs an ad network... good luck with scaling, RIP
- tracyhenry 6y ago> good luck with scaling, RIP Why? Plenty of options to scale Postgres. What alternatives do you use?
- geocar 6y agoThe juice just isn't worth the squeeze. I can't speak for Exuma, but I've built several ad networks and buying tools that needed to handle over as much as a trillion daily events, and that means lots of HTTP event collectors writing events down into a lot of otherwise independent streams that you need to merge-sort together into coherent reporting and deduplicate client retries. In principle, anything with statement-replication (such as one of the multi-master plug-ins for Postgres) could be made to work here, but error recovery tends to be poorly considered (and users expect no downtime here) and so it's almost certainly easier to just write a log file (or let cloudfront or whatever do it), and write a custom log shipper. Dedup in a window is easy, but UPDATE on a tall skinny table even with an INDEX is slow. If you want to materialise that in Postgres back at home-base, that can probably work. There are a lot of single-writer methods to scale Postgres. I've used Postgres for this and it's fine. The other problem is configuration: Outside of naive impression counting, your HTTP "event collector" might also need to be smart enough to choose an ad. Naively relying on replication from your configuration database to all your nodes means it's easy to get split-brain, and you're still taking an (often unacceptable) performance hit asking the "local" Postgres server your questions -- Meeting hard-realtime guarantees consistently (usually 30-50msec) is hard for a bit of PHP and Postgres to accomplish. Usually I'll build the decision logic into the configuration payload -- actually pre-compile the decision tree (in one implementation, into C that was loaded by a openresty+lua driver every config-change) so that the code doesn't waste any time asking the database over and over for the same key that probably hasn't changed. Erlang is also a good choice for adtech people, because it has this cluster-wide messaging, hot code reloading (good for config!), a built-in binary log (disk_log) with replication capabilities, and a in-memory database (mnesia) that is good for generating reports out of.
- angryasian 6y agoback in the day we called these webrings. Still relevant but now that most content is surfaced through recommendation algorithms, and people are more adverse to ads its tougher. Still great idea. Good luck
- Rinum 6y agoNice, super simple process! I've submitted an ad for my side project, rowsandtables.com. Looking forward to seeing how it goes.
- ezzato 6y agoWhat a great project. Love the idea. This might be a new game gerne. Developer Board Games or so. Haha
- dekervin 6y agoHey! I submitted my project with stories of "data hackers" ( https://datapeek.org/stories https://datapeek.org/stories ) . Would you be open to an interview? Your project is quite ingenous it would be a great fit :)
- corobo 6y agoDo the ads wobble like that live?
- ezzato 6y agoNo wobble, juggle, jumping in the live version. I'll remove the animation now. haha
- cointreau 6y agoI really like this idea, and I’m someone who hates disrespectful ads. A small, non-animated tile—ideally advertising something I’m interested in—sounds like something I wouldn’t mind seeing. One thing: I really hope you don’t plan on making these things wiggle or anything. That’s exactly the sort of obnoxiousness that prompts me to block ads, and I think that would defeat your stated goal of unobtrusiveness here.
- ezzato 6y agoNo I don't. The ads must be respectful and unobtrusive. Edit: typo
- broknbottle 6y agoFan of Puff, puff, pass?
- louisstow 6y agoLove the idea. Just signed up https://secalerts.co https://secalerts.co and added the script to our homepage.
- ezzato 6y agoThank you!
- newrotik 6y agoVery nice idea - exactly what I was looking for! I just uploaded my own side project (http://spot.gifts http://spot.gifts) but the image I uploaded is showing as broken (was initially .svg). I tried to upload a .png and delete my previous post but that didn't work. Just thought I'd give you feedback. Keep going!
- dekervin 6y agoI experienced the same issue and posted it elswhere on the page. I am writing here just in case the owner catch this thread !
- dekervin 6y agoI added my project but on the dashboard,I can't see the picture and there is no edit button ?
- DanHulton 6y agoYeah, the first time I tried to add, I got an error message along the lines of it not being able to reach the product URL (which is absolutely available). It wiped out my competitor URL list, so when I resubmitted, they were empty. So I created a second ad that did have the competitor list, it failed again, this time I re-added the competitor list and it seemed to go through. This all because there was no edit button. But the icing on the cake is that the DELETE button doesn't work, either, so now I just have two ads up there. I guess we'll see how this goes...?
- dekervin 6y agoI think we are all experiencing the same issue :/ . Let's give it some time I think. Off topic I am watching your code generation video on nodewood https://nodewood.com/features/code-generation/ https://nodewood.com/features/code-generation/ . It's seems clever, but I have some difficulty evaluating how much trouble it would save me for example. How do pitch that feature ?
- DanHulton 6y agoI didn't see any way to send feedback in the app itself, so I figured I'd add to the discussion here in hopes they'll see it. The ads themselves don't launch for a few weeks, so there's definitely time to resolve this stuff. On Nodewood, yeah, it's probably not the #1 time-saving feature that Nodewood offers, but it's similar to any other framework's scaffolding tools. It ensures that when you want to make a new API Controller, or UI Page, or shared Model, it's in the right location, follows naming conventions, and has the basics filled in for you. I always find starting from a simple case and extending it to be a lot more-productive than starting from a completely blank file and trying to remember the basic implementation of the thing I'm trying to build. Plus, Nodewood is a little opinionated about how to split up your code into "features" that makes building a reasonably well-organized Monolith a lot easier, and the code generation tools make it a lot easier to follow that pattern.
- wakatime 6y agoI'm very selective with the external scripts allowed on my websites. Ad networks are notorious for running malicious JavaScript on popular sites like NYTimes[1] and Yahoo[2] home pages. Any plans for an API so sites can receive ad content as JSON and display it without ever executing your external JavaScript? I might consider it for future side projects if I could npm install your client library instead of including an external script tag. [1] https://www.nytimes.com/2009/09/13/business/media/13note.html https://www.nytimes.com/2009/09/13/business/media/13note.htm... [2] https://www.washingtonpost.com/news/the-switch/wp/2014/01/04/thousands-of-visitors-to-yahoo-com-hit-with-malware-attack-researchers-say/ https://www.washingtonpost.com/news/the-switch/wp/2014/01/04...
- simonmales 6y agoI used to do ad scheduling 10+ years ago and at least in those times the ads has NOSCRIPT tags. But for it to really work you would need to store a cookie to correctly redirect the user. I like your idea of rendering the ads on the server side, but I would hope they would have super low responsive times. Or at least low timeout on your side.
- wakatime 6y agoYou can render client side too, the key is no external JavaScript is being trusted to run on the page. That ofc means the common practice of advertisers pasting a JavaScript snippet, the network doing a review process, then rendering that snippet as an advertisement on some property would not be allowed on this Ad Network.
- pbalau 6y ago> Any plans for an API so sites can receive ad content as JSON and display it without ever executing your external JavaScript? That will be a very easy target for faking impressions...
- deleted 6y ago[deleted]
- 6y ago
- systematical 6y agoI'm interested in adding this on mixerapi.com.
- trungdq88 6y agoI like the idea but putting a script to the home page is probably too invasive. Can you make it into a single static image or JSON/static HTML based?
- ba32107 6y agoTiny bit of feedback: I recommend changing the word "blacklist" to "denylist".
- ezzato 6y agoIs there a difference between the two?
- somebodythere 6y agoAlternatively, "blocklist"
- deleted 6y ago[deleted]
- max_ 6y agoThe web is hungry for a privacy respecting & scriptless ad network. With several things that can be improved.
- sub7 6y agoAd networks are entering a period of great consolidation and distress. Brand this as a community, not an ad network.
- sanmak 6y agoNice product. Created an account and it's smooth. Two questions: - what's your plan of monetisation - how you will maintain the ads sanity? Not all side projects are worthy enough for ads.
- ceritium 6y agoI added my site nunino.com and added the script to the head. What do I have to do to place the banner? Would be nice a place inside the site to send you some feedback or questions.