Have a cake and eat it too 28 April, 2009

Using jQuery (or prototype or whatever) is a standard tool in my tool belt nowadays. It’s so useful I can’t think how I’d do without. You can make some pretty nifty user interfaces with it. And not just pretty ones, but useful ones to.
Take our latest project for example, on the front page (and sub pages also) there is a list of TV stations and it’s current program (2 or 3 items per station). And some of those programs have extra description:

spored.tv

Now the old fashion way would be to click on a program which would then take you to another page where you could read the description. The jQuery way is to show the description immediately and with some style! So after clicking on the first program, for example, the description would slide down beneath it, thous saving user the time of a new request and the time it would take him to get back to the schedule:

spored.tv

Off course this is useless for web crawlers (google, yahoo, …) so you still have to provide the old fashioned way (if you wan’t for your content to be found). It’s really simple to achieve this. You construct the link (which opens the description) like a regular HTTP link which points to a page where you can read the same description (in my case: http://www.spored.tv/program/unicevalca-mitov/1009118). Web crawler (or any user who has JavaScript disabled) will now see this link and will be able to read the content.
Now you use jQuery to dynamically add a onClick event handler, to every link, which slides the description and returns false, so that the browser doesn’t follow the link. Feel free to view the source code of spored.tv to see how I’ve done this.

Showcase 3 January, 2009

mojalbum.com Mojalbum.com
A image sharing community site. Users can create albums, upload images, message other users and discover other user’s images. Developed at Popcom d.o.o.

Technology: PHP5, MySQL, Sphinx, nginx, memcache, WideImage, JavaScript, jQuery, jQuery UI, AJAX, HTML, CSS(3), custom PHP framework.

Technology description: built on top of a custom PHP framework developed by me, heavy use of JavaScript for the user interface (non JS version available where possible), memcache for caching, sphinx for fast searching, WideImage for image manipulation

My role: I did all the programming. I have also contributed with ideas

spored spored.tv
You can view all your favorite program schedules here. Developed at Popcom d.o.o.

Technology: PHP, MySQL, Sphinx, nginx, JavaScript, AJAX, XHTML, CSS, custom PHP framework.

Technology description: built on top of a custom PHP framework developed by me, crawlers that grab the content (XPath for (X)HTML or XML) from various sources, Sphinx for fast and accurate searching, AJAX&JavaScript for sorting the programs, usable with JavaScript disabled

My role: I did all the programing. I have also contributed with ideas

igre123 igre123.com (also igre123.net, igrice123.rs, giochi123.net & movingcake.com)
The largest site for flash games in Slovenia. Developed at Popcom d.o.o.

Technology: PHP, MySQL, Sphinx, Memcache, Aliiike, nginx, JavaScript, AJAX, HTML, CSS, custom PHP framework.

Technology description: built on top of a custom PHP framework developed by me, usable with JavaScript disabled, AJAX for greater usability and user experience, Sphinx for fast and accurate searching, memcache for caching, Aliiike for game recommendations

My role: originally the site was developed by Tine Koloini (design and coding). In 2009 we redid the whole page from scratch using PHP, MySQL, Sphinx, Memcache on the server and some JavaScript on the client

vreme-si.com - weather forecast vreme-si.com
A web page to get your weather forecast. Developed at Popcom d.o.o.

Technology: PHP, HTML, CSS

Technology description: crawlers that crawl (using regex) various sources for forecasts

My role: so far only minor improvements of existing crawlers and development of new ones

mojvideo Mojvideo.com (also Mojnet.com & Mojnet.rs)
A social community page that joins YouTube, Facebook, Flickr, blogs, … in one page. This is the largest Slovenian social web page (mojnet.com is a Croatian version and mojnet.rs is a Serbian version). Developed at Popcom d.o.o.

Technology: PHP, (X)HTML, CSS, MySQL, Sphinx, Smarty, ADOdb, nginx, apache, flash, JavaScript, AJAX, …

Technology description: a truly huge project that is running off of 3 servers (database, storage, http), server technology is PHP, data is stored in a MySQL database which is searched using Sphinx, Smarty is used to separate HTML and PHP, nginx is used to serve static content (CSS, JavaScript, images, …), we use flash for playing videos and uploading videos, JavaScript&AJAX is used to enrich user experience, code is highly portable and can be cloned (see mojnet.com & mojnet.rs) without to much hassle, …

My role: web page was first based on the ClipShare portal, but was entierly re-written from scratch by me in 2008. I have programmed the whole web page (except for some HTML pages), I am still developing new features and improving existing ones. I am also contributing with new ideas.

videoarhiv.comvideoarhiv.net
This web page was developed at Popcom d.o.o.. It is a video archive page, where videos from various sites are added automatically, and users can submit videos trough a form. Users can then watch videos and comment them.

pozareport
This was the biggest project yet. It is a on-line newspaper that was started by a famous journalist Bojan Požar. The page was made in one month and there ware a lot of all night work session. The design was made by hercogmartini and was transformed to HTML by Jure Mali and is running on my framework with PHP and MySQL as backend.

CRMG
I made a tiny framework for this page that my co-worker designed at K&S Consulting d.o.o.

Apolonia
This is a portfolio of my ex-girlfriend. The design was done by Gašper Volkar and was later fixed a little by Miloš Sluga, jr.

SVOZ
Portal for “Union of Slovenian army”. A fairly large portal with news, forum, gallery, pools, etc. The design was done by Jure Mali and I have made all the backend PHP scripts and JavaScript for the frontend.

Občina vodice
Portal for “Občina Vodice”. I have done all the backend scripting and javascript coding…
I have used my NFUcms, but I have extended it and I have coded many new extensions. My CMS has become quite powerful now. This was a nice project and I enjoyed working on it.

LPI.si
This was a small project so I used my NFUcms that was used at zgradi-si.com. Actually the customer was the same. I really didn’t have much work with this page, wich is a proof of how great my CMS is :).

Racunovodstvo.Net
Many scripts dealing with calculating various things (rent, paycheck, …) and a massive search engine for searching articles.