1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

How to get my project off the ground? (a gamified study site)

Discussion in 'General Business' started by Dirk the Web Phoenix, Oct 18, 2019.

  1. #1
    Hello, everybody:

    I am a former web developer trying to get back into the profession. Dealing with ageism and a jungle of new languages, libraries, frameworks, and standards, I have failed to get employed so far; but I also have ideas for projects that could make me money running them myself. One of them is a gamified online study tool I am currently building.

    This project faces me with a bunch of issues where I could use some good tips, for example in which forum to persue any of the following issues (and am I overlooking other important issues???):
    SEMrush

    ___1.)_Funding___
    Since the tool should probably be free in order to grow a user base, I think I should start it out as donationware (a free website with optional donations). Problem: (A) How to implement online donations (personal payments? register a business?)? (B) How to avoid chargeback fraud costing me for example $20 in chargeback fee for a $1 refund when there should be no permissible refund requests at all? (C) How to avoid that a third-party transaction service like PayPal, Stripe or Patreon meddles with my complex transnational tax situation (wrongly reporting my money collection to wrong tax agencies, rather than leaving the reporting to the one held responsible: me)

    ___2.)_Traffic___
    How to easily measure number of visits & users? With certain hosting services? With WordPress using traffic plugins? Or build myself a PHP code that saves user visit totals inside files named as cryptic hashes of the users' IPs? With lots of users might this overwhelm a server? Would a database be less easily overwhelmed, say by a million users? (Quizlet allegedly has 50 million!)

    ___3.)_Community/CMS/DB___
    To let users save and share learning material, maybe make it a WordPress site? Or is it better today to link a frontend site to some database via API calls? Or is it all too risky because of potential copyright violations?

    ___4.)_Quizlet-API___
    Maybe manage to link it up with Quizlet's learning materials (allegedly Quizlet has an API for that) so I can focus on the gaming code AND don't have to worry about copyright violations of learning materials? Anybody know anything about this API?

    ___5.)_Freemium___
    If it grows, but donations are lacking too much, time might come to advance to a freemium model. What's a good way to do that? Binding the project into WordPress and use some kind of Fremium plugin? Or set up some money transaction that delivers a random code then hashed with the user's IP as a server file? Or do the latter as a cookie on the user's device so there is no server-side account management needed?

    ___6.)_Copycats___
    Potential competitors with deep pockets and the possible audacity to copycat my project or even outright steal the code could ruin it all, too, especially if I am slowed down by the other points mentioned. Any ideas?

    ___7.)_Hosting___
    And what might be a good hosting service to use? (ideally free to start out with, paid when the bandwidth rises, and not blocking potentially necessary things like PHP or PHP's mail() function; maybe offering automatic backups, easy maintenance, easy scalability...)

    Can anybody give me some clues about any of these issues (or others I failed to mention)? What's the fitting forum for getting deeply into any single issue?


    Thanks a million for any hints or clues. :)
     
    Dirk the Web Phoenix, Oct 18, 2019 IP
    SEMrush
  2. sarahk

    sarahk iTamer Staff

    Messages:
    25,351
    Likes Received:
    3,484
    Best Answers:
    101
    Trophy Points:
    665
    #2
    Hi - well done for doing your homework before completely committing to the project

    1. ...
    2. Use google analytics
    3. There are many dedicated education CMS like Moodle. I would be looking at WordPress as a last resort unless you find a decent plugin but even then... meh Not what it's designed for
    4. ...
    5. Freemium is a great idea, but I'd need to see your plans re target market, the length of time they'll use it etc before I'd know for sure
    6. Protecting your intellectual property is always going to be a big part of running the site. You want to be big enough to make money but small enough to avoid being ripped off. Talk to your real-world lawyer about what real-world protections you can put in place.
    7. You should be able to use pretty much any competent hosting company. If your userbase is likely to be large then a dedicated server would be good or you could look at Google's Cloud hosting or Amazon. The right answer will be obvious when you've picked your software and worked out your projected loading. I'm kind of involved in a project delivering distributed training to thousands of users - but in reality, we'd be lucky to have more than a handful online at any given time and that would be a huge success for that organisation because of the nature of the information imparted. Others need much, much more traffic to be considered a success. The software might be identical but the hosting requirements will be different.

      Oh, and don't rely on mail() if you have a big site, it'll be throttled. Look instead at services like Mandrill and MailGun. A small extra cost which is easily justified.
     
    sarahk, Oct 20, 2019 IP
  3. Dirk the Web Phoenix

    Dirk the Web Phoenix Greenhorn

    Messages:
    8
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    11
    #3
    Thanks, sarahk. :)


    > 2. Google analytics

    I thought about it too, but (A) it may be overkill (like tracking where visitors came from when I mostly just want to know how big the user base is and how often they re-visit) and it may cause trouble with new privacy laws like the awful European GDPR. But maybe I should take another look at it.


    > 3. Moodle vs WordPress

    Since my project is a self-study tool rather than classroom platform, and since I know WordPress (WP), I prefer the latter. My main worry is that if I use WP for letting users save their learning material and share it with others, it creates an inflexible connection between a given learning material and a chosen game version (when I may create multiple versions and a variety of games)

    It would be best to somehow let users choose both the game (version or type) AND the learning material independently from each other. Hence my musing about some form of API call approach to some database or some PHP coding linking to a same-server database or some such. Any tip there could be VERY useful.



    > 6. ... You want to be ... small enough to avoid being ripped off.

    That part I fail to understand. If the project got big, how would it/I be ripped off more than otherwise?



    > 6. ... Talk to your real-world lawyer about what real-world protections you can put in place.

    Hm... any tips on how to find a suitable lawyer? (there are so many lawyer specializations, which to look for, esp. in the U.S.?)



    > Oh, and don't rely on mail() if you have a big site, it'll be throttled.

    Hm? How?


    Thanks, anyone, for more tips and experience sharing. :)
     
    Dirk the Web Phoenix, Oct 23, 2019 IP
  4. sarahk

    sarahk iTamer Staff

    Messages:
    25,351
    Likes Received:
    3,484
    Best Answers:
    101
    Trophy Points:
    665
    #4
    Moodle and the other education platforms allow for self-paced study. I'm rusty but I'd spend time evaluating the main players in that space before choosing WP just because it's comfortable.


    From re-reading your first post you seem to have identified copy cats as a very real threat. If your server is secure and you have proper login processes your Intellectual Property should be secure. If someone signs up, pays up, there's little you can do to stop them stealing your concepts - but because of the gamification with users getting different content depending on their progress - they'll never see absolutely everything.

    My point was that if your niche is very specific you'll evade the casual copycat. We get them on this forum all the time asking questions like "what's the next big trend?", "how to identify a high paying niche".

    So if your site was educating folk on natural hoofcare for horses you probably don't have to worry about copycats
    But if your site was on becoming a highly paid copywriter you would



    Your family lawyer should be able to refer you to someone they respect.



    Hosting companies will "throttle" the number of emails you can send to, say, 100 per hour and if anything goes wrong they'll simply turn it off.

    I have a client that uses Mandrill, we pay the bare minimum fees at MailChimp and that gives us pretty much unlimited emails. We send them in one big batch and, yes, they're still throttled but I can view their send progress and the throttling is more intelligent than a simple counter. We control the subscribe/unsubscribe which means fewer integrations of our customer information. We also get callbacks so I can feed back to the users how many opens/clicks they get and we get intelligent feedback on bounces.
     
    sarahk, Oct 23, 2019 IP
  5. jrbiz

    jrbiz Illustrious Member

    Messages:
    4,445
    Likes Received:
    1,680
    Best Answers:
    2
    Trophy Points:
    420
    #5
    You seem to be thinking through a lot of the "product" issues you will be facing and that is great. @sarahk has given you some great points on those subjects. Are you at all concerned about how you might market your service once you have built it? "Build it and they will come" really does not work on the Internet. :)
     
    jrbiz, Oct 27, 2019 IP
    Spoiltdiva and qwikad.com like this.
  6. Dirk the Web Phoenix

    Dirk the Web Phoenix Greenhorn

    Messages:
    8
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    11
    #6
    Thanks, both of you, for your helpful comments. :)

    Oh, I see. When it grows, it attracts more copycats. And, yes, I have noticed those odd $$ questions in these forums when I conducted searches on my issues. We live in such a money-desperate world now.


    Oh, you were referring to outgoing emails (that I am currently not aiming at). I've been using PHP's mail() function for contact forms. A contact form usually seems sensible to me, which is why I like the function to be available on a server.


    Hm... I expect to have the user base grow mostly by word of mouth (a.k.a. sharing). But you are probably right that at the beginning I should somehow arrange for a sufficiently large starter group of users. Of course I lack dough for expensive ad campaigns, but thanks for hinting at this issue that I haven't thought enough about. :) *sigh* As a techie, such business aspects tend to be quite alien to me. It's quite a jungle I am forced to get more familiar with.
     
    Dirk the Web Phoenix, Oct 29, 2019 IP
  7. NetStar

    NetStar Notable Member

    Messages:
    2,326
    Likes Received:
    485
    Best Answers:
    21
    Trophy Points:
    215
    #7
    Personally I think your concerns are holding you back. To get started you just need to execute. Don't be concerned about copycats... you can't stop them and they aren't interested until you actually have a presence and a profit margin. Most major companies are SLOW to execute. I work for a company where an idea can take MONTHS to deliver a product with all of the corporate BS where I feel I could personally code it over the weekend.

    For hosting you just need something that can get you started and allow your to slowly burst. A decent VPS will give you plenty of room to grow before you need to worry about cloud hosting and AWS etc.

    If you have a VERY custom niche idea you most likely will need to program yourself. However, it is in your best interest to use already made solutions that can speed up development. So for instance, if your web site requires a Forum then purchase an existing forum like Xenoforo and modify.

    You need to take an MVP approach. Which is Minimum Viable Product. This means you develop the bare minimum features to get your product in to production ASAP. This allows you to 1. test the market and 2. acquire customers as you extend your product. The worst thing you can do is spend too much time developing a product that never reaches your market. This is the problem with copycats... they try to develop EVERYTHING to compete with a successful 10+ year existing product while trying to skip the foundation steps. Your product must grow in maturity. It will never start off as a mature product.

    Use PHP libraries, Frameworks (bootstrap, laravel etc)... ignore people like deathshadow who will slow you down.
     
    NetStar, Nov 1, 2019 IP
    sarahk likes this.
  8. Dirk the Web Phoenix

    Dirk the Web Phoenix Greenhorn

    Messages:
    8
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    11
    #8
    Thanks NetStar. :)

    That sounds quite reasonable to me. Copycats are not my main concern. The main reason I want to clear the path relatively well before I start walking it (i.e. putting my project online) is that I will then be able to move ahead fairly smoothly. This happens to match well with protection from copycats which otherwise might outrun me and take over my niche. What adds an actual worry about copycats to me is an Ee-commerce course I was driven to take in which I became uncomfortably familiar with unethical greed-driven people hounding the web.


    What would be nice would be an easy transition when it becomes necessary.


    That's one reason why I posted my questions. My main issues along that line are #2, #3, and #5 because I lack experience with them. Especially #3: how best to connect learning materials with the game(s) flexibly, so that users can store them, share them, and pick them independently of the game they pick to study them with. On a WordPress site, users could simply post their learning materials as posts, but the game might be non-flexibly connected to the same post. It might be better to create a WordPress site only for the learning materials and host the games separately if I knew of a way how to link the two together. This may actually be simple (decades ago I had JavaScripts move data among pages), but I haven't gotten around to address this, yet. Another worry, though, is not so much technical: Could I be hammered with copyright violation accusations concerning the materials users post?



    That's basically my plan. For this I need to know how to test the market though (question #2), and how to turn free users into customers or contributors (questions #1 and #5).


    True. In that case the project would revert to what it started as, namely a portfolio element to show to potential employers or clients. Having it make money for me directly would be preferable, though, but that is a new territory for me. Hence I try to inform myself before I possibly make big mistakes or get stuck claring these questions at a time when I should be advancing the published poject.


    Well, that's one of my problems. Figuring out which of these would fit the project well if I can indeed not stick with the pure languages (HTML, CSS, JS, (PHP)...) that I am familiar with as an oldtimer (and which interestingly seem to be on the horizon again).

    Uhm... "deathshadow"? Is that a member of the digitalpoint community? :-}
     
    Dirk the Web Phoenix, Nov 8, 2019 IP
  9. Spoiltdiva

    Spoiltdiva Prominent Member

    Messages:
    6,502
    Likes Received:
    1,907
    Best Answers:
    50
    Trophy Points:
    395
    #9
    Well he is kind of shy and usually doesn't say much, but yes I do believe that @deathshadow is a member of the DP community.
     
    Spoiltdiva, Nov 8, 2019 IP
    sarahk and jrbiz like this.
  10. deathshadow

    deathshadow Acclaimed Member

    Messages:
    9,028
    Likes Received:
    1,667
    Best Answers:
    235
    Trophy Points:
    515
    #10
    You folks rang?

    Dirk, let's go down your list.

    1) Funding. Honestly, I think you're getting too hung up over the third party side of things. A simple Paypal donation button is easy to implement: they hand you the code. When it comes to reporting income you can print out reports that are no more complicated -- often they're far simpler -- than if you were trying to manage this yourself.

    I don't advocate off the shelf a whole lot (we'll get to that shortly) but when it comes to financial transactions, just do it... and since you're taking donations without a sale, there is no need to worry about refunds and charge-backs. At least, not through Paypal or GoFundMe.

    I would probably suggest goFundMe, but if you're really worried about it try to find the refund policy of whatever service you go with, and as a rule of thumb treat all donations as if they do not exist for 180 days and keep 20% of all money collected as a backup ten-thousand series (assets) fund for fees. I know that's a harsh waiting period but it is one by which you can be reasonably certain of keeping your head above water.

    2) Traffic. Any decent hosting plan should come with a log analysis tool like webalog or analyzer. All the information you would/should/could need is right there. If you're REALLY worried about the pointless minutia of your traffic because your inner marketing executive needs a good wank, add something like Google Analytics on top. As to handling traffic numbers that really goes with your third point.

    3) CMS/DB. What you're doing sounds a bit unique. Off the shelf answers particularly for content delivery don't do unique well. ESPECIALLY steaming piles of dung and poster children for everything wrong with modern development like turdpress. Might make you THINK you got off the ground quick, but over time it will make life harder, and in general more often than not tell large swaths of users to sod off with the inaccessible broken bloated code.

    No matter how many people sing the praises of such things.

    If you craft a custom database, use good practices like hashed passwords with a MODERN algorithm like whirlpool or SHA512, maintain a "push" attitude towards security (never pull security data from the DB engine, only verify against it in the engine -- hence PHP's password_verify is right out), and plan that when traffic levels increase you will have to research and spend into scaling and distribution, and you should be fine.

    4) Quizlet. Tying yourself to another site's functionality when what it provides is the core of your functionality -- the entire thing you're wrapping game-like interactions around -- might be a bad idea. What they provide isn't rocket science to implement, and having your own implementation will make it easier to customize for interacting with your gamification. I mean it might save you some percieved time at the very start, but it could take more effort to maintain, limit what you can do, and overall long term whip around and bite you. I've seen this far, FAR too often.

    5) Freemium. Normal subscription service for better features. The implementation for that being no different than any other subscription... they pay for a time period, your system acknowledges the payment by changing the user's expiration date in a table that you load into the session when they log in. Not rocket science.

    6) Copycats. Using unique code for unique features will help make it harder for someone to just blindly upload turdpress, slop some shoddy insecure plugins into it, sign up for some off-size quiz api, and be exactly where you are. But really it's better to be copied than ignored. I agree with @NetStar on this, you get big enough for anyone to try, you're already top dog.

    Marketing 101, never acknowledge the existence of your competition when you're top dog. If this is a unique concept that currently doesn't exist, you're top dog if your the first foot in the door.

    7) Hosting. Because you'd be starting out small, a $50/mo or less VPS would likely easily handle your traffic numbers, though that depends on the size of your content.

    Finally, in your opening statement -- and my response what gets @NetStar's knickers in a twist -- you say:

    Stick to the standards and core languages, ignore derpy halfwitted mentally enfeebled TRASH like frameworks.

    There are NO good front-end frameworks in that they all make you work harder, not smarter. I don't care how many "experts" in the field run their mouths about how much simpler or easier they are; they either don't know enough of the underlying languages to flap their yap about how to build a website much less tell others how to do so. They promote bad and ignorant practices, pissing on good concepts like separation of presentation from content, semantic markup, progressive enhancement, graceful degradation, and dozens of other proper / useful methodologies from so on-high you'd think the almighty just got back from a kegger!

    Back-end frameworks look appealing, but more often than not fall into the same traps of bad practices, or worse trying to shoe-horn programming models into the underlying languages that do not fit the operational flow of a website. See how many people cream their panties over MVC when to be frank, in languages like PHP it is a total task complexity mismatch. The end result are bloated slow sites where you've not even learned how anything works, leaving you high and dry when something goes wrong, up manure river without a means of locomotion on doing anything unique/custom, and dealing with server-load above and beyond your traffic numbers.

    The fanboy's of such trash's usual defense always being "well we can just throw more hosting at it" or "let's throw more code at it". Because of course when you're riddled with bad practices and a slow site, more code is the answer. Of course it is.

    For those of you lacking a sense of humor, that was sarcasm.

    You want to be unique, you want to keep LONG TERM costs low, you want to address user needs, you're not going to get that with off the shelf site generation methods like CMS or frameworks.

    For language choices, I'd stick to the big dogs and those you have to use, and do so vanilla. HTML, CSS, JavaScript, PHP, MySQL... well, MariaDB not MySQL, though the difference is more philosophical than real. MOST people are just still saying MySQL even though their host is actually running MariaDB. It's like still saying OpenOffice when you mean LibreOffice, or saying JavaScript when we actually should be saying ECMAScript... or saying Linux when you actually Mean GNU plus Linux. (Yeah, RMS can go **** off that last one).

    If you're a former web developer you likely at least have a passing familiarity with those, they're all -- despite many wild claims -- alive and thriving, and if you learn the ins and outs of those base languages you'll quickly discover that these derpy "frameworks" are monuments to the three "i" of web development.

    Ignorance, incompetence, and ineptitude. Don't believe me?

    Do you know why tags and attributes were deprecated in 4 Strict? Do you understand what semantic markup is? Do you understand progressive enhancement, graceful degradation, accessibility norms, leveraging logical document structure, and how to favor selectors over classes? If so, doing a view source on this:

    https://getbootstrap.com/docs/4.3/examples/pricing/

    Should make you recoil in horror at the 3i. It becomes plainly apparent that those who created bootcrap, actively maintain it, and write their entire website are utterly and completely unqualified to write a single blasted line of HTML. That they then have the unmitigated GALL to call their bullshit easier, or simpler, or faster to develop, or better for collaboration amounts to nothing more than bald-faced LIES!

    See just this little section of "I cans haz teh intarwebs" of:

    
      <body>
        <div class="d-flex flex-column flex-md-row align-items-center p-3 px-md-4 mb-3 bg-white border-bottom shadow-sm">
      <h5 class="my-0 mr-md-auto font-weight-normal">Company name</h5>
      <nav class="my-2 my-md-0 mr-md-3">
        <a class="p-2 text-dark" href="#">Features</a>
        <a class="p-2 text-dark" href="#">Enterprise</a>
        <a class="p-2 text-dark" href="#">Support</a>
        <a class="p-2 text-dark" href="#">Pricing</a>
      </nav>
      <a class="btn btn-outline-primary" href="#">Sign up</a>
    </div>
    
    <div class="pricing-header px-3 py-3 pt-md-5 pb-md-4 mx-auto text-center">
      <h1 class="display-4">Pricing</h1>
      <p class="lead">Quickly build an effective pricing table for your potential customers with this Bootstrap example. It’s built with default Bootstrap components and utilities with little customization.</p>
    </div>
    Code (markup):
    With the endless pointless presentational classes for nothing, gibberish use of numbered headings, anchors blindly slopped into NAV as a run-on sentence, and whole host of other "I don't know how to use HTML properly" doing the job of:

    
    <body>
    
    	<div id="top">
    		<h1>Company name</h1>
    		<ul id="mainMenu">
    			<li><a href="#">Features</a></li>
    			<li><a href="#">Enterprise</a></li>
    			<li><a href="#">Support</a></li>
    			<li><a href="#">Pricing</a></li>
    		</ul>
    	<!-- #top --></div>
    	
    	<div id="pricing">
    		<h2>Pricing</h2>
    		<p>
    			Quickly build websites without the ignorant Bootcrap. Use semantic markup and leverage it via selectors to simplify site generation above/beyond what the derpy frameworks do!
    		</p>
    
    Code (markup):
    But how dare anyone come right out and say that of the beloved media darling... and in a nutshell that's what all frameworks tend to be. "For those who know nothing about web development, BY those who know nothing about it" is not a recipe for success. No matter how many know-nothing fanboys try to claim otherwise with lame excuses and a complete lack of facts.

    Some advice: Anyone telling you to throw classes at the markup where the class says what it should look like has failed to divine the intent of CSS and why certain tags/attributes were stricken from HTML 4 Strict, failed to understand what HTML is or what it is for, and pretty much has their cranium wedged so far up 1997's rectum we need to find an orthodontist to handle the extraction. These are the same halfwits, morons, and fools who spent the past two decades vomiting up HTML 3.2 and calling it 4 tranny, and now put the same broken, bloated, ignorant bad practices under a HTML 5 doctype so they can back-slap each-other over how "modern" they are... when HTML 4 Transitional literally meant "in transition from 1997 to 1998 coding practices". All HTML 5 has done for such folks is give them a way to stop advertising how unqualified they are to write HTML in the first place.

    There's a reason the framework fans sound more like religious cultists than programmers. You'd almost think survivorship fallacy, confirmation bias and cognitive dissonance were all somehow involved.

    Any of these off the shelf answers for creating the site itself are going to do is make it take longer to develop, leave you having learnt their systems and not the underlying languages hamstringing your ability to fix anything or do anything unique, or provide your own scalability should you actually achieve success.

    Again, I've seen it happen with really big clients that should have had the $$$ and intelligence to avoid it... like banks and public utilities.

    Basically plan long term for operational independence from the codebase up, instead of short-term flash in the pan payouts that just gut any chance at long term success.
     
    Last edited: Nov 8, 2019
    deathshadow, Nov 8, 2019 IP
    mmerlinn likes this.
  11. jrbiz

    jrbiz Illustrious Member

    Messages:
    4,445
    Likes Received:
    1,680
    Best Answers:
    2
    Trophy Points:
    420
    #11
    jrbiz, Nov 9, 2019 IP
  12. Spoiltdiva

    Spoiltdiva Prominent Member

    Messages:
    6,502
    Likes Received:
    1,907
    Best Answers:
    50
    Trophy Points:
    395
    #12
    One sweet day @deathshadow will come out from the "shadow" and finally learn to be a bit assertive and speak his mind. Why go through life as a wall flower?
     
    Spoiltdiva, Nov 9, 2019 IP
    jrbiz likes this.
  13. qwikad.com

    qwikad.com Illustrious Member Affiliate Manager

    Messages:
    5,994
    Likes Received:
    1,125
    Best Answers:
    22
    Trophy Points:
    400
    #13
    Your forgot to mention the "orange commander in cheetos half tweet" thing.
     
    qwikad.com, Nov 9, 2019 IP
  14. NetStar

    NetStar Notable Member

    Messages:
    2,326
    Likes Received:
    485
    Best Answers:
    21
    Trophy Points:
    215
    #14
    Barely.
     
    NetStar, Nov 10, 2019 IP
  15. NetStar

    NetStar Notable Member

    Messages:
    2,326
    Likes Received:
    485
    Best Answers:
    21
    Trophy Points:
    215
    #15
    Ignore the shit in deathshadow's post that will slow you down. It's rubbish....
     
    NetStar, Nov 10, 2019 IP
  16. Mike2718

    Mike2718 Greenhorn

    Messages:
    12
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    13
    #16
    Good that you analyzed so many factors from the very beginning.
    But... you cannot predict everything. Things will change after you start. You will find out that a lot of you predictions were wrong.
    So, I would suggest just to JUMP into it if you feel you want to work on this project in a long run.
    Also, think of giving out something for free... to acquire user base, if you get a lot of users, you will find the way how to monetize.
    One more idea, websites such as hotscripts can be also useful for promotion
     
    Mike2718, Nov 17, 2019 at 8:46 AM IP