On WordPress and Learning New Things

Went to Austin’s WordPress Meetup tonight (last night, by the time this is posted) and it was a nice time. I almost decided to not go because the traffic coming out of Spicewood into Bee Cave was horrible. Then Mo-pac… fuhgetaboutit. Thankfully, I kept going and an hour and a half after I left work I got to Cospace just after 7pm.

The first part was a talk from Alex Hill from BaileyHill Media about using WordPress for political campaigns, which is something I’ve toyed with in the past. It was interesting to see how other’s approached political WordPress design. Then a discussion of the new features in WordPress 3.1. Most of them I knew about, but I hadn’t downloaded the dev release to test it out, so it was nice seeing some of the features in practice.

The internal linking and the quickpress theme tag are things I most look forward to. I need to look closer into the quickpress hooks once it comes out, but I can see some really cool things… especially for community sites.  Like a nice modal box that is accessible from anywhere? From a dev standpoint, the advanced queries and custom post styles look pretty sweet for making a very robust CMS. The different post types that 3.0 included were a great step in that direction already…. this will only make it that much better.  Maybe we’re one step closer to putting Drupal and Joomla out of their misery?

On the WordPress topic, I set up my own WP test/dev site at CrazyMonkies.org. My goal is to use it to hack and re-hack and learn as much as I can about WordPress. So far I’ve tried installing BuddyPress and wasn’t all that impressed.  It’s got some great out-of-the-box features, but almost TOO many features. Also, trying to do some quick themeing was not an easy task. I was hoping for some simple community functionality, but there’s just WAY too much “stuff” on each page… and I’m a huge fan of minimalism in design.

Having said that, there are two plugins that are killer – the Welcome Pack and Achievements plugins. Those two things mean BuddyPress could help create a very cool social site. And while I only tested it out a short time, and only with Twitter, BuddyStream is another great plugin for integration with other social sites.  If I ever set aside some free time, I think I may hack into a BuddyPress theme and try to create a super elegant social site.

Right now, I’m playing around with the P2 theme on CrazyMonkies. I had seen the theme in use on the WP development site, but never thought to install it myself. The real-time aspects and the keyboard shortcuts are great. I’m not sure why anyone would use this on a public site, instead of Twitter, but for a private forum it would be quite useful.  Also, adding comments threaded under the status updates is a feature that Twitter really needs. One little feature that it doesn’t have is a way to “delete” the status/comment from the front page… it only allows editing, though I’m sure there’s a way to hack that on. Another feature that would make it more Twitter-like is a friend/follow plugin… like BuddyPress.

In fact, P2 just may be a catalyst for developing a more full-featured social site, like BuddyPress but simpler. Really, all it would take are a few custom plugins. That’s probably something I’ll be playing with more….

Idea for November 2nd

    Driving home tonight, I thought about how Facebook has really tapped into something that regular people are drawn to.  Namely, to stay in contact with friends, meet new friends, and play games with those friends. With updates and pictures and videos, you can be a part of people’s lives even if they’re miles away.  It’s pretty powerful stuff.

    That got me thinking, “What else drives people?”, and what kind of site could be built to tap into that drive.  I realized, thinking about the rise of “reality” TV and American Idol over the past decade, that many people (mostly younger, it seems) have a notion that they have a god-given right to be famous. It seems to generally be an American notion, but shows like X-factor and Big Brother in the UK seem to suggest the trend is spreading. And then looking at people on The Hills or the Kardashians or Paris Hilton, over the past 5 years, people are becoming super famous without having any discernible talent.

    So how can you tap into that desire for fame, using the web? I haven’t researched it, and someone may have already tried it, but maybe there’s a way to have people upload videos, music, stories, poems, whatever… then other users give them an up-or-down Digg-like vote.   Then once a month or so, the winners are highlighted on the front page…  given a prize… I don’t know.

    I think the main section of the site would be a timed contest. When you upload something, it goes into the current contest, like a month long. Once the contest is over, the winner(s) have their entries removed from further contests.  The winners would also be ineligible from winning again for a period of time… 6 months or a year. Non-winners have all their votes reset, but each entry can be eligible for up to 6 months of contests… after which, the entry is ineligible from further contests.

    There should also be another section that works as like an archive.  So all unique votes are tallied, and it displays the most popular entries from all time. Maybe people could have entries that don’t go into the contest… but are just submitted for the general votes.  So past winners could still upload content and be voted on for the overall.

    Another thought, before you can vote on other’s, you have to upload something.  That way, you don’t just have trolls, but people actually participating in the site.  There should also be a mechanism for weeding out people that upload crap just to be able to vote… maybe a “spam” button? Of course, there’s a potential for that being abused.

    It sounds a bit YouTube-y… but with more than just videos, and with a contest element instead of just Views.

Voting: If you just had links to entries where you could vote, there’s a potential for some entries to get many more views and votes. This may not be a bad thing, and bring that organic, viral quality like YouTube.  On the other hand, to be somewhat fair, there might need to be a Hot-or-Not voting system that randomly selects entries for you to vote on. I think there should also be categories for the winners… so videos and written entries would have different winners.  Though, there should also be an Overall winner who gets the big prize.

    Really, I think the key to the success of this site would be: 1) It needs to be super simple to register and add content. VERY low barrier to entry. 2) There should be a good number of users who add content, helped by #1, and 3) the prizes need to be nice, also feeding into #2.

Prizes: To start with, the main prize should be at least $2500.  Ideally, it should be around $10k… because THAT is “real” money. Individual category prizes could start at $500, but should eventually get up to the $2500 range. Actually, as I think about it, it would be best to start at $10K… start with a BANG and reach critical mass as soon as possible. Logistically though, that’s a bit impractical unless a huge sponsor is involved from the beginning.  However, there would still need to be at least $20K invested from the beginning to cover a few months, even if we went with the lower prizes.

Income: Pretty much this would all be ad revenue. One or two big sponsors? Use pre/post rolls or lower-thirds on the videos, text ads, overall site branding.  I think target demo for the site is 13-25 year olds, with outliers up to 40… very appealing to advertisers.

    That’s all I got… if anyone decides to pursue the idea, let me know.

Thoughts and Ideas #1 – Putting Them “Out There”

I’m constantly thinking, and coming up with ideas for things.  Be they apps, blogs, movies, tv shows, business ideas, whatever.  Most of the time, I just forget about them and they’re lost to the ether. Other times, I’m interested in developing them… but someone’s already done it, and I don’t feel like reinventing the wheel.  And still other times, I take steps to move forward with the idea.  Here are a few of my random thoughts:

#1 Increasing CD sales

I actually first had this idea YEARS ago, around the time Napster was at the height of popularity.  Each music CD should have a unique code, and when that code is entered into the record company’s (or third party’s) website, the buyer gets a credit for 10-15 mp3 downloads… plus, they can buy more credits if they want.  They can then download any song, by any of the record company’s artists.  Of course, back in 2000-2001 when I thought of this, it could’ve have had a huge effect on the recording industry, and my idea of buying “credits” to download songs actually predated the iTunes store. I knew too that to be successful, the record company’s “store” needed to have an overwhelming number of songs available.

The problem is, I didn’t (don’t) know anyone in the recording industry… or know anyone who knew someone. And the idea of building a third-party platform myself never even entered my mind.  Right now, I think the idea would only have limited appeal, since online music stores are so ubiquitous.

#2 Demystifying Flight Costs

I thought this up after listening to an episode of  This Week In Google, when Jeff Jarvis talked of how airline ticket prices were such an unknown. My idea was to create a database of ticket prices, so each user would enter in their flight info and price… and after enough info was submitted, I would create an algorithm that could parse the info and try to re-create the airline’s yield management algorithms. Eventually, you could input the date and locations of your flights, and the site would calculate the best price you should be able to get.  Since the prices are so variable, this would allow the user some ammo when negotiating with the agent… or even when putting in the Name Your Own Price on Priceline.

I knew the algorithm would be no cakewalk, but I figured if I could at least start gathering the information, it would make it easier to get started.  Initially, as is my want, I had all these grand ideas of parsing flight data through APIs and Scraping, letting the user click on a Google Map where they were flying to/from, allowing them to Tweet/Facebook their flights, and much more.  Well, thinking like that becomes untenable and creates an overwhelming amount of work for myself… and thus work either stops, or never starts.  With that realization, I created MyFlightPrice just using freely available Google Tools.  It took just an hour to make, and is pretty simple. After I finished, I tweeted to Jeff Jarvis, he re-tweeted, some people entered in some information… and that was about it.

#3 Finding Quality Celebrity Twitterers

These days a lot of famous people are on Twitter. Some are really doing their own tweets, some have PR people, some are a mixture. To weed out the PR generated tweets, and the just really boring people, I thought there needed to be a way for people to rate the celebrity twitterers and leave a review. So I created TwRate.

It’s a pretty simple concept. You login with Twitter, choose a celebrity, rate/review them… and that’s it. Each celebrity’s page shows a bit about them, their last 5 tweets, and the reviews.  You can also Follow/Unfollow from their page. I had hoped it could be a fun, snarky place to make us “normals” feel better about not being rich and famous… by making fun of those who are.

I actually had pretty high hopes for this site, but it really hasn’t taken off.  In fact, I’m the only one who’s used it.  But to be fair, I haven’t promoted it much at all.

#4 Practical Relationship Advice and Tools for Husbands

I bought the domain wifehack.com thinking of creating a blog for husbands – offering tip, tools, and advice on how to help your relationship with your wife.  I was hoping to have less of a Dr. Phil angle, and gear more towards technology. As you can see, 3 and 1/2 years later and I haven’t done much more than set up a blogspot account.

#5 HTML 5 blog

So I also wanted to blog about my journey as I taught myself the ins-and-outs of HTML5. I bought Html5Pro.com and while I’ve teaching myself HTML5, I never bothered to blog about it.

#6 Web Development Podcast

This is a recent idea that I still hope to do one day.

One of the things I have yet to find in the podcast-o-sphere, is a decent Web Development News podcast. There are good shows like the Big Web Show and Boag World, but they don’t have the specific format that I prefer listening to. I prefer the news w/ commentary format of shows like Buzz Outloud and the TWIT shows. That format, but dedicated to Web Dev News, is something that I have yet to find… and a couple that come close are either very infrequent, or just sound lousy.

The goal is to have a weekly show, with a couple of “regulars”, and add in a third (or fourth) guest on a rotating basis.  We’d run down the latest web development news, discuss each story, and move on. Nothing ground-breaking, but as far as I can tell, it hasn’t been done in a consistent, quality way for this topic.

The one problem I’m having with this is that I’m new to Austin and haven’t ventured out to meet with other devs. Hopefully, once I get more social with the community, I can get this thing off the ground. I’ve considered doing it on my own, but that would get dull.  Maybe just starting with 5 minute mini-casts? I don’t know….

So those are just a few things rattling around in my head. In the past, I was always a bit scared to share things, thinking someone might take my idea and do it themselves. I’m over that now. With so many things in my head that never even get started, I figure they might as well be out in the world.

Motivations To Code

A few months back, I had an idea for a recommendation site for politicians/political candidates. The thought is, a user browses through a list of candidates that they can vote for, then clicks on an icon to “endorse” them.  I also wanted a way to not recommend a candidate by having a “reject” button. Then I would allow the candidates to include a script on their site that listed all their endorsements, ideally replacing/adding to the Endorsements page that many political candidates have on their site.

Basically, it’s a Facebook “Like” button, but with an option to “Not Like”… and all the candidates would be in one place.

The problem is, it’s just me doing all the coding and design, and being new to Austin, I don’t know anyone else that might be interested in helping out.  Add to that, the hours I spend at my  job, and having an 18-month old baby, and  going through a seemingly never-ending move… and it’s difficult to find the time, or the motivation to work on the project.

When I do find time, there will be brief spans of productivity and clarity.  Then eventually, I’ll hit a wall and a particular programming problem will stump me.  Instead of pushing through it with OCD abandon, I’d rather just stop and play with the baby.  This has been a circular pattern that has gone on for the past 9 months or so.

Tonight, I watched The Social Network movie, and the scene about the creation of FaceSmash made me long for the days when I would have an idea and stay up all night working on it.  Like when I bought a copy of “Creating Cool HTML 4 Web Pages” and spend all day and night reading every word, and creating “cool” web pages.  In those days, had I known PHP (or at least PERL), I would’ve had my endorsement site done in a week.  Of course, I didn’t have a full-time  job, a wife, or a baby at the time.

Then, I read the latest Email from Jason Calacanis and I’m not sure whether to be defiant or justified.  He basically argues that entrepreneurship is for single, young people… at least if it’s your first foray into creating something.  In the past, he’s also argued (essentially) that if you’re not working 18 hours a day, you’re not working hard enough. But I think 37 Signals shows that that isn’t always the case.

And no, I  don’t think my little idea would qualify me as an entrepreneur, but I think it is something that would have some appeal. I had also considered rolling it into another idea I’ve been working: creating nice-looking, dynamic web sites for candidates in local elections. In fact, I’ve got TONS of ideas… ideas constantly running through my head. Many times, I’ll spend a week or two on them, get them to a functional place, and stop.  And up until a year or so ago, I would immediately register a domain name to go along with it.

For example, TheMoviePunch.com was going to be a video blog where I reviewed movies, but only having viewed their trailer. Or ReindeerBlog.com was going to be one of Santa’s reindeer anonymously posting about the dark-side of working at the North Pole… and more recently, I was thinking about registering ReindeerLeaks, and then “leaking” documents about Santa, the elves, etc. And why do I own MrShoop.com?

So anyway, I’m now looking for the motivation to get back to coding, or more specifically finishing some coding.  My biggest motivation right now is just about learning new technologies and keeping my skills sharp.  But that doesn’t require a finished product… just a continual process. My hope is that I can blog more, and get these ideas I have out in the wild. At least that way they’re  not just filling up my brain space.

Moving Away From MySQL

Randal Schwartz posted on Twitter about switching away from MySQL to Drizzle or MariaDB. And said:

no reason to be using “Oracle” MySQL at this point.

I wish it were that easy.

While I would love to support the totally open-sourced technologies, the idea of “just switching” is akin to saying “just convert your 80 gigs of mp3 to flac”.  It’s impractical.

1) MySQL is everywhere.  On my Windows machine, I run a local server using WAMP… and haven’t found a WADP alternative.  Since I’m poor, I’m not able to have a dedicated server for my personal websites, and thus have to use a shared host.  On said host, they only have MySQL databases.

2) MySQL is well-known. There has not yet been a time when I had a MySQL question that wasn’t quickly answered with Google search.  While their official documentation is pitiful and mostly unusable (seriously, get a clue from PHP’s great manual) , the wealth of info on other sites like StackExchange or Daniweb is astounding. I haven’t found anything matching that with other DBs… except maybe MSSQL.

3)MySQL is easy. Similar to #1, I can have a full web PHP stack running on my Windows machine in minutes, thanks to WAMP or XAMPP.  On my shared host, it takes about 5 form fields to get one set up.  Until other options become that easy, or I dedicate my life to Linux, MySQL is just a huge timesaver.

4) WordPress. I love WordPress, and it can do almost anything I want. Over the past year or so, I’ve been studying all I can about WordPress and want to become an expert.  There have been some experiments with using different DBs with it, but honestly, WordPress and MySQL are essentially joined at the hip. Again, until that changes or another DB is easy to drop in, I’ll be sticking with MySQL.

Updating My Site

I’m using a premade theme (boo), but I like some of the customization features it has.  Also, I don’t have the time right now to create a brand new, fancy WordPress theme.  I’d rather spend my free, web time working on getting things in order.  I’ve got so many files and images and documents from the past, I really want to organize it all and have my site work as a repository for all things me.  Though, isn’t that what most personal sites are for?

I also want this to be a place to peep my portfolio… because I’d like to start doing some more freelance work, and make some extra $$$.  And I want to start saying things like “peep my portfolio” WAY more often.

There’s also a dream of doing more “regular blogging” about web dev topics, and technology in general.  Because, from what I can tell, that is a TOTALLY untapped market.

One challenge I have is, what do I do with all the freaking’ sites I’ve posted other stuff too…. like Tumblr, Twitter, Facebook, Twitface, Faceumblr, and Linkedblritterbook?  Just pipe it in here I guess.

CodeIgniter VoteSmart API Library

This is a pretty straight-forward library for CodeIgniter that allows you to access the VoteSmart API.

To get it working, simply drop config/votesmart.php into your config directory, and libraries/votesmart.php into your libraries directory. Load the library in your controller

$this->load->library('votesmart');

The call the votesmart query function like this:

$this->votesmart->query('CandidateBio.getBio', Array('candidateId' => 9026));

The first parameter is the API method you’re calling. The second parameter is an array of required variables, if needed. All the available methods can be found here.

You can download the code at GitHub