The hardest year of my life

I’ve probably re-written the following blog entry countless times. I’ve struggled to find the right words without sounding too depressing or long winded.

So let’s just keep it simple…

October 2009 to October 2010 was 12 months of hell. My Dad was diagnosed with Frontal Lobe Dementia and my life had been consumed with dealing with the emotional challenges of seeing my Dad’s mind deteriorate, the stress of pursuing a conservatorship, his objections to the whole thing, moving him into assisted living, clearing out his house, and a financial battle with his siblings.

There wasn’t much time for personal projects or blogging. But thankfully, my involvement now is minimal. He has a professional conservator taking care of his needs and financial affairs.

Now I can get back to wedding planning and get on with my life.

 

Platform Dev: Comments

I previously mentioned that I would start rewriting much of my code on PaperDemon to become its own platform. Recently I completed a Comment component. I rewrote the old commenting system completely to be easily configurable, powered by sexy jquery and ajax goodness. I can now easily have one set of code to power each comment section for art, writing, comics, blogs and soon I’ll be adding comments to photos and possibly other stuff too.

A major part of the comments rewrite was to get rid of the pop ups. Previously, when you went to post a comment, a pop up would appear where you’d type up your comment. Popups are annoying and outdated. Instead, it’s now right there on the page when you’re viewing an artwork entry. A major strategy behind this interface change is that by making that comment box readily available, I hope it will entice more users to post a comment.

So far, it appears to be working. But I’ll be watching the data closely as time goes on.

 

Platform developing

So I’ve been working on rewriting my code into almost like a turnkey website sort of thing where i can easily install it on other websites. But I’m not quite sure of the best way to do it. But one thing that’s really made a lot of decisions easier is Smarty. Man I can keep the display component completely separate. Totally awesome. Unfortunately, you can’t define multiple template directories. I was hoping to keep all art gallery stuff in one folder, all profile stuff in another folder, etc. But then again, keeping all the templates in one folder may make sense if you want to make it so the designer can only access the template files.

jQuery has been really helpful as well. It’s been really quick to turn an app into an ajax one. Damnit I love Ajax. And I’ve been playing around with jQuery UI which has some nifty features too. I hope to convert all my ajax stuff from Sarissa to jQuery.

It’s really hard to organize everything though. It may make sense to keep everything related to a component (such as art gallery, photo gallery, web page cms, profile) in its own folder. In that folder would be the php class, php pages, template files, JS, CSS. But it’s hard to do that. Sure you could put all the JS together in one folder, all the PHP in another, etc. But then when you need to install a component in another site you gotta copy paste stuff into like 5 different folders rather than just copying one folder.

Still trying to figure it out. Maybe it shouldn’t be componentized. Maybe everytime I install my software on a site they get all the components. I dunno. I need help with this one.

 

ZMT is coming back

 I’m pretty excited to say that I’m getting back into working on my animation projects again. My friends are excited too. This past weekend we recorded the finale for Zarbon’s Masterpiece Theater. This episode is pretty epic. So epic that it will require me to storyboard it. Something I’ve never done for ZMT.

And we are getting back into working on the other new Anime Spoof show which we still don’t have a name for. Anyway, I’m fucking excited. Yeah.

BogusRed Out!

Oh and I just watched Snakes on a Plane. I hate that movie.

 

Tried out Smarty Templates

 Just about every PHP programmer has heard of or used Smarty Templates.

I had heard of it a long time ago, but only just recently started using it. For the longest time, I have been using good old phpLib’s Template.inc. It is simple and suits most of my needs. But it’s quite old. I’ve been using it for like 7 years.

A colleague of mine convinced me to try out Smarty. I used it to create a new RSS feature for PaperDemon.com’s blogs (and also added an RSS feed for my blog on BogusRed.net as well, subscribe to me!). I did it using Smarty because it seamed like a good thing to templatize and also because Smarty has a really good caching system. So if people’s RSS readers are constantly pinging the RSS feed pages, the PHP won’t have to pull from the database every time. +1 for performance!

 

Tag Cloud

I’ve been wanting to redo my keyword system on PaperDemon for a while. There were a couple things I wanted to change about it. One was to change it from storing the text of each keyword everytime it’s used. The other, is I wanted to change it to a tag cloud where it makes the common words larger and less common words smaller. I love this type of visualization of data.

So I decided today was going to be the day that I build my tag cloud class. And it only took me a day’s work to finish it! So far I have only integrated it into the Blogs system. This is because PaperDemon’s blog system did not have a keyword/tag system yet so it was easy to plop one in. You can see the start of our very own blogging tag cloud here:

http://www.paperdemon.com/blogs/

I will migrate artwork and comics to it eventually. However, I’d have to first migrate any existing data into the tag cloud which is not going to be an easy feat. Especially considering artwork has +75,000 keyword entries.

 

Another project on the horizon

Back in January I talked about the status of my web dev projects. Basically I’m rewriting all my software to turn it into more of a platform or package that I can just plug in and reuse more easily on multiple websites.

My friend Potter, whom some of you may know as Jiita and Piccolo in ZMT, came to me recently with a cool idea for a website. Now I have even more motivation to finish my software so I can use it on this new project.

Here’s a quick lowdown on status since the last status update:

SHM REDESIGN – ~COMPLETE~

PD GALLERY UI – members area selection of galleries is ~COMPLETE~ but still need to redo the browsing menu.

AJAX COMMENTS – I’m still stuck on this one due to a technical problem with jquery’s form plugin file uploads. I’m working to resolve this still.

ADVERTISEMENTS – I’ve been trying a variety of ad networks. So far I’ve tried BuySellAds.com, Project Wonderful, AdEngage, BlackLabelAds, in addition to Adsense. Some have been more successful than others.

AdEngage was probably the most dissapointing. I tried it in the adult section of PaperDemon and didn’t get any buyers for ads. Instead my ad units just showed CPC ads that got me only about $0.02 per click. I’ve since removed most of the AdEngage ads and replaced them with BlackLabelAds (Adbrite’s adult ad network) which turns much higher profits than AdEngage does. Adengage also uses CPC but the money earned per click is much higher than AdEngage.

I tried out BuySellAds but realized I don’t have enough traffic on the ad unit for it to be worth $5 per month for an advertiser. This is the lowest price you can go. Plus it would be showing the same ad for the whole month and a lot of my traffic is repeat visitors. I doubt my visitors would like seeing the same ad for a whole month especially if I have to put it on every single page to give it the traffic it would need. If I could get my traffic to triple I’d have a much better chance of selling an ad unit and I could place it on the art pages which typically have more random visitors, it would be a better value for the buyer.

With ProjectWonderful I have 3 ad units each getting somewhere between $0.01 and $0.10 per day. It fluctuates a lot. I plan to put the skyscraper ad unit on more pages in hopes of getting it more traffic and driving up the price of the unit. And at least 0.02 is better than a giant blank ad that says "your ad here" and not getting any money at all.

It’s unfortunate I can’t place Adsense or Project Wonderful in my adult section because the adult section is doing very well traffic wise. But I guess BlackLabelAds will have to do for now.

Strangely, my Adsense revenue has dropped significantly as of late. I’m not sure why that is as most of the adsense ads that I removed and replaced with Project Wonderful were underperformers. I did hear something about other publishers reporting a drop in their Adsense revenue and that it had to do with the fact that advertisers are spending less money on advertising. This means the cost per click is lower and my revenue goes down.

Basically in the end it all comes down to needing more traffic. I need to try some more SEO strategies.

 

Learn the libraries or reinvent the wheel?

For the most part of my time working with PHP, I’ve done things my own way. I don’t use a lot of libraries or read too many articles or books about how to "correctly" develop web applications. I know that most developers stay up to date with the latest libraries that help alot with development. There are also a lot of premade free packages out there that can give you a content management system in minutes such as Word Press. And there are probably a lot of things I’m doing wrong since I’m self taught. Yet I’m still doing my own thing and dread the idea of doing it any other way.

And for a long time I felt like I was an inferior web developer because I wasn’t taking that approach to web development. It’s like I’m reinventing the wheel, the same wheel thousands of other developers have already made.

But an interesting thought occured to me today. With music, I typically don’t like to read sheet music when I play the piano, despite being fairly quick at sight reading. I’d rather figure out the notes myself by ear and then rearrange the music in a different way. And when I do it this way, I understand the music far more than if I had learned it through sheets and it becomes more enjoyable to play.

So maybe that’s my nature; figuring it out for myself. Maybe it’s because I’m a creative person. It seems more fun to me to build an app myself rather than just downloading an existing app and customizing it or plugging in this library with that library.

So here’s to all you reinventers of the wheel out there!


But I make an exception for Javascript. It’s too much of a pain in the ass to write it myself and I’m going to use jQuery to do all the heavy lifting. F*** you, you stupid DOM and your stupid nuance differences in browsers! I HATE writing Javascript!

 

Latest project happenings

So back in November, I mentioned I’d be dedicating myself to Webdev for at least 6 months before returning to my Multimedia projects. Here’s a quick look at the in-progress webdev projects I have completed, have in progress, and future planned projects.

Completed Projects

UTF-8 – I migrated the site to UTF-8 back in late November. This is something that needed to be done since I will be developing more XML based apps.

REDESIGN – I just finished a visual redesign of PaperDemon.com template. It’s not a major overhaul but it does resolve a few issues that I had with the older layout. It’s mainly a change to the header and footer and a few color tweaks.

REFERRALS – Just created a new referral system the other day on PD that allows members to recruite newbies and get free premium accounts. I’ve done this in an effort to increase traffic and activity (and hopefully increase ad revenue).

In Progress Projects

ADVERTISEMENTS – I’m also working on adding more advertisements to PD, particularly adding adult ads in the Red Curtain. My hosting costs far outweight the ad revenue and I’m hoping to change that now that I have a mortgage to pay (just bought a house, whoo!).

AJAX COMMENTS – The commenting system is something I’m working on a major rewrite of. I rewrote it to be more exportable and have made it an XML based output with XSL and AJAX using jquery stuffs. It’s nearly done but I’ve run into a snag with the jquery ajax image uploader. This project started out as a good candidate for experimenting with XML/XSLT based reusable system but ended up being more complex than I thought and is taking forever to finish.

GALLERIES UI – The galleries system for artwork on PD right now has been very confusing for a lot of users. I’m working on a new interface and reorganization of the gallery trees. Not sure when I’ll have this done but I’m hoping to have it done by end of February.

WEB PAGE CMS – I’m in need of a simple yet flexible content management system for web page content for the ShrunkenHeadMan club at SJSU. I’ve started work on this and am about half way through. Content is stored in a database but is served in XML and converted to HTML via XSLT. It allows for multiple layouts and uses YUI Grids for the layouts. It also archives past edits of a page.

SHM REDESIGN – working with the SHM webmaster and have developed a new template for the site. Working on implementing the new template now and should be done within the next couple weeks.

Future Projects

MEMBERS/LOGIN/PROFILE REWRITE – the code for member logins, profiles, etc is my oldest code and is just a huge mess. I can’t easily plug it in to my other projects. I’m rewriting this one and want to make the profile thing xml/xslt based so it can easily be customized for my other sites like PaperDemonMedia, SHM, and a family site that I want to start soon.

PHOTO GALLERY – I’m going to rewrite my simple photo gallery that is used on PD and add a couple features like albums and upload from picasa. Will use this for the family site and for SHM.

FAMILY SITE – once all of my code is rewritten for better reusability and customization, i want to create a new site that uses all my existing software just for my family to post photos and connect with each other. I might integrate it with other apps such as twitter and facebook.

 

As you can see, I have a lot going on. I jump around from project to project. I’m thinking 6 months isn’t enough time. It’s already been more than 2. Well, back to work.

 

Dedicating to Web Dev for 6 months

So now that my cosplay endeavors are over for a while, I’m going to spend some time on heavy development on PaperDemon and other projects.

I have some other website projects that will need code from PD. So I’m working on making it easier to customize and reuse.  I estimate to have the majority of my planned work done in about 6 months. Once that’s done, I’ll get back to working on my multimedia projects.

I’m really excited about jQuery. I just got a lesson from a colleague at work and I’m totally reved up about it. I can’t wait to start doing some awesome ajax and dhtml work with jQuery. I wish I had learned about this a long time ago. Currently, I’m using the Sarissa js library. But jQuery is so much better. it has such a better structure. The code is easier to understand and will result in you writing less lines of code. And the things it can do with the DOM are amazing. Why couldn’t they have designed Javascript to function like jQuery from the start? It’s so unfortunate that Javascript had to be such a poorly structured language. Traversing the dom is rediculous, not to mention all the weird browser compatability problems. Gah! But jQuery will solve ALL of those problems.