Progress… We’re getting closer.

Posted by spike | Posted in Development | Posted on 03-04-2012

After a couple bouts of sickness, vacation, and Christmas. It’s finally time for an update on the progress of the alpha version of olexa.com.

There’s been lots of changes since the last post, so I’ll try to keep this post’s length down to a minimum.

The first thing new is our proximity selection area. By default, olexa.com will try to find the largest city near your location and assign it as your city. If none are found, you will be redirected to selecting a city manually. Of course you can always select a different city if we pick the wrong location for you.

The login system though incomplete is progressing. Google and Facebok login/signup is now available using Oauth2.0 specs. In addition, cookies are now implemented so the user never has to log in or choose their location if they’ve already done it once before.

Notification emails and avatars have also been implemented. If you sign up using Facebook or Google, we’ll automatically use your avatars. If you sign up directly with olexa.com, we will try to use Gravatar avatars. If you don’t have a Gravatar either, you can always upload one after logging in.

The listings pages are pretty much done and prettyfied. The listing pages in addition to the listing content, also now contain an easy to use rating and comment system.

Olexa.com also now has a working search engine, categories, and tags.

Well enough with the talk, let’s get to the video…


Listing Creation… Done! Sorta.

Posted by spike | Posted in Development | Posted on 11-22-2011

Well after more weeks of not working on Olexa… grr darn real jobs getting in the way. I’ve finally finished the listing creation engine. Of course this is the “programmers” view of complete. That means, not much testing and could be prettier. Regardless, it ranks up there in the badass top 10. The biggest issue is the flakiness of Google Maps in China. Programming here in China… not so easy. The Chinese govt. doesn’t like Joe Shmoe to see the blurred satellite imagery of his apartment from a few miles up. Maybe they just feel Google is a large corporate evil. Strangely Bing (Microsoft) is okay.

Mainly server side validation was written, so those little hackers out there will have a harder time breaking the site. Lots of bug fixed worked out, logging for when some evil people add pics of nature… cough cough, I can send their location and identification to the FBI. The data is stored in a MySQL database (I know.. I know.. you want pro, go with something that cost money). MySQL is more than adequate for now, it’s robust enough and stable for what I’m doing here. Of course the important storage tables are InnoDb so rollbacks are easy and data won’t become corrupted.

I’ve also created part of the listing display. It’s just begun though, an will likely see a few changes. Anyway, check out the video below and see the finished listing creation and all the pretty loading screens.


All New Listing Validation

Posted by spike | Posted in Development | Posted on 09-25-2011

Whew, finally. After even more time on input validation for the listing creation popup, it’s finally done. Originally I planned on using the jQuery plugin “Validate”. Unfortunately it didn’t fit at all with the listing creation. I scrapped all the jQuery options and wrote a completely new jQuery plugin for validation. The new validation was far from simple. Now, a check-mark appears for valid fields, and an X appears for invalid fields. Some of the more interesting validation that occurs is the website validation, which actually checks to make sure the website typed in exists, and the zip code validation that follows the zip code format of most cities throughout the world.

Now, the manual address entry is much faster. Because the world is a big place, the look-up was a little slow for state/province look-up. The database of locations is in the millions, so it took a little while. Those records have now been organized a little better to improve performance. Olexa will support most cities around the world with populations of more than 1,000 people.

The create listings area now has a much more solid and responsive feel. The next step is to submit the user’s listing information to the Olexa database. Since JavaScript is rarely anyone’s friend, I suppose this part will go much faster.

And without further ado, a new video of the listing validation.


Listing Creation

Posted by spike | Posted in Development | Posted on 09-02-2011

Once again, it’s been too long since the last post. So here’s the updates… After a week sabbatical I’ve returned to programming.

The listing creation is progressing nicely. I’ve added JavaScript input validation by writing custom validation functions and combining that with a Jquery plugin called ‘Validate’. This part took forever. The JQuery validate plugin is great for single inputs, but terrible for validation based on sections. The listing creation window is a JQuery UI dialog popup, with multiple sections that need validated individually. Because of this, I had to write most of the validation from scratch. Another problem was the Google map validation. One of the features of olexa.com is an easy address look-up for the listing creation, using Google maps. A lot of work went into this in order to validate the Google results.

For unknown locations (not found on Google Maps) the listing creation has manual input options. To keep the site consistent I have created drop-down selector menus for Country, State/Province, and City/Region. Just about every city in the world is supported (at least every city with a population of at least 1000). Olexa.com now has a gigantic database of possible listing locations thanks to geonames.org. I downloaded their database as text files and imported them into the olexa.com databases. Their information is very impressive, if olexa.com ever sees any money, some of it is definitely going to the creators of this info. If your also interested… http://download.geonames.org/export/dump/

Olexa.com now also has a geolocation ip lookup. Once again, I have to thank another creator of immense data. Thank you mindmax.com. Like geonames.org, they have downloadable database information. So now of course, olexa.com has a few million more records for IP geolocation. Eventually this information will control logging, website redirection, and user preferences (the site will automatically load the city you’re in, and all the related listings accordingly, without ever having to select your city). If your interested in this data… http://www.maxmind.com/app/geolitecity

The image uploader is done. It seems rather slow, which I can only blame on our web host, but then again I am in China, and the server is in the USA. I added options to select a default image and remove images.

Other smaller details of changes are…

– Stock photos added for categories (still missing text though).

– Bug fixes for login and user sign up system.

– Lots of display work (CSS) for listing creation.

On the list of to-dos are finishing the listing creation and approval areas. Tonight, I will finish fixing the bugs for the listing creation and start working on the database storage of the listings.

Enjoy another preview…


Olexa.com Alpha Preview

Posted by spike | Posted in Development | Posted on 08-04-2011

Well, it’s been a while since the last update.  Things are moving slowly but steadily forward.  A few thing for the site are done…  By the way, if you don’t like to read just scroll to the bottom and watch the video.

A secure login and sign up system has been created.  Purely ajax for fast user experience.  Our users will never have to leave the main page to login or sign up to create listings.  Currently the login system is only session based meaning the user is only logged in for the life of the browser.  On the list of to do items for the login and sign up system are a cookie based “remember me” option so that the user can stay logged in indefinitely, a login via facebook and google, and finally a reset password option.

The general theme of the main site has been created.  Both a html5 almost imageless and fast site as well as a slightly slower Jquery UI compatible theme with gradient images.  For now the Jquery UI theme will be used for cross browser compatibility.

A new category menu was created.  A custom Jquery plugin was made to resemble a popular existing plugin called Jquery image menu.  Unfortunately this plugin wouldn’t work because of it’s lack of resizing.  The same effect is used in the new plugin but now with dynamic sizing based on browser window size.  We’re still searching for some good stock photos to put in the menu to represent each category.

About 50-60% of the listing creation is complete.  Listings will be easily created from a small ajax popup window.  The user will be presented with 5 slidable pages courtesy of the Jquery scrollable plugin.  The pages displayed are general info, location, description, photo upload, and primary photo selection.

The location page was created using Google Maps API v3 and a Jquery plugin called GMAP3.  The location page includes an autocomplete listing search, ability to drag a point on the map to the correct location, and manual address entry for place Google just doesn’t know about.

The photo upload page supports multiple uploads and is highly compatible with html5, flash, silverlight, and gears compatibility.  This section was built using yet another Jquery plugin called Plupload.  Users are unrestricted by file upload, size, number, and dimensions.  Images are automatically resized and scaled.  When these files are uploaded, they are displayed on the last page for the user to confirm.

There’s still lots to do, but these sections are a large portion of the application.