The Ad Generator App - Beginning

To explain the Ad Generator, first let me talk about some history.


Video Games

I love them. The feelings you may encounter when unleashing the fury in a video game, or when you delve deeper into a story, or even when you save a princess, are just too good to be described. 

The Change

But somewhere along the way I discovered I wanted to do Artificial Intelligence, and then I discovered that video games were stealing time from learning. Thus, I started to just import and sell video games.

I like selling video games, it not only allows me to meet other just-as-me crazy gamers, but it allows me to come close to the collector's games I wont be buying because I just don't earn enough dough. No matter though, I don't feel the same rush from buying the impossible-to-buy collectors edition from the old days. Nowadays I am happy to just see a huge box, look at it, and make a customer happy for getting him the ungettable thing.

The Problem

Buying/Selling takes time from my Artificial Intelligence learning, and that pisses me off. The amount of frustration from wasting my time is so enormous that it is hard to explain. I'm not an official reseller, I buy things in the US, get them to Mexico, and sell them there.

So I decided to break down the problem, how to waste less time until the day I waste... virtually no time.

Every time I buy something to sell it I do the following:

  1. Import it to Mexico
  2. (Optional) Take pictures of the product
  3. Create an ad in html
  4. Host the photos and some images to the ad in a public server
  5. Publish the ad somewhere (mercado libre in my case).
  6. Answer Questions
  7. Sell

It is pretty straightforward, but it can take a huge chunk of my time.

Thus I need an app for it.

What do I need

Let's order our list:

  1. Import it to Mexico
    • hard, unavoidable time
  2. (Optional) Take pictures of the product
    • cellphone possible, complicated feature (for one person) 
  3. Create an ad in html
    • CSS Objects, HTML code, Images, Photos and Description
  4. Host the photos and some images to the ad in a public server
    • Push to server using ftp, maybe something else in the future
  5. Publish the ad somewhere
    • Mercado Libre in my case, maybe something else in the future
  6. Answer Questions
    • I don't think it is in the scope of the project
  7. Sell
    • Happiness ensues

Why to do it

Most sellers in the website do the following: Design an ad in an edition tool, suchs as gimp, paint, powerpoint, word, or photoshop. Afterwards they publish the image in chunks. This is all right, it gets the job done. Alas, this is highly inefficient, and it has the following problems:

  • What if the server hosting the images is down or slow?
  • What if the user has low bandwith?
  • What if the user is in a cellphone?
  • What if the user is in a shitty cellphone with text only?

A website has to be fast, and use as low as possible of the client's resources to allow the MOST important thing, to get the information to him, when he wants it.

So... let's continue to how to do it...

How to do it

THIS IS IT! The time has come to start implementation. Let's look at a basic MercadoLibre ad, courtesy of me.

Ad example This is just a typical ad of MercadoLibre

The ad has the following properties:

  • Store Name
  • Tite/Subtitle
  • Politics or Terms of Sale
  • Images
  • Photographs
  • Description(s)

All of these items may expand to the users content. For example, some sellers put A LOT of Terms of Sales stuff while others just a few lines. Similarly, some users may want to change their politics for certain products (for example shipping rates).

So what do we need?

  • HTML Code + CSS Objects carefully crafted
  • Images in a server for our links to work

Seems simple doesn't it? Of course it does. But we need to be able to let the user edit those things fast. So it would be something like this:

  • User opens the app
    • Creates/Opens his profile
    • Watches/Creates his ads in a TreeView/List of Ads
    • Now he can create a new ad, on the first page he should be able to:
      • Edit the ad name
      • Edit the Image Gallery
      • Edit the Photo Gallery
      • Add a description

    • Now he should be able to connect via FTP or Request to a remote folder to drop his images and photographs

  • User closes the App


GitHub The Cat from GitHub

 We shall begin the program first by handing the engine that builds the ad. I put the code in a repo in github here.

Then we shall code the UI/UX in kivy as well in Python.

Doing the engine in python allows for migration in the future and sustaining the UI/UX in python.