I’ve been mostly in planning and thought mode for the past two weeks. But here are a few updates.
- added a new image uploader for user profile thumbnails. The upload process works but still having issues with updating the mySQL table with the image path. Still a work in progress…
- created a new account settings page where users can manage their info, password and profile pic.
- created a user-follow functionality that will allow users to follow other people and their answers. The following functionality works but still having issues with displaying friends’ answers in the users’ question page. Still a work in progress…
- created a new find page for searching other users and to keep track of followers and followings
- there’s a new recent tab in the main homepage where users can now see the most recent answers as well as the most recent suggested questions
I also have a new forum in progress but still debating whether or not I need such a heavy platform. Thinking about setting up a Twitter account to keep track of feedback and questions. Also looking into Get Satisfaction…though I really don’t like their feedback tab on the side of the screen.
I’ve also been testing out Twitterfeed and other similar services to figure out how I can let users tweet qrisper answers to Twitter. Still working on that. And finally, being the optimist that I am, I’ve been researching AWS because I’m certain that qrisper will have a massive spike in usage with the next 10 years. Have to be prepared for that eventuality.
Wow, all of a sudden, everyone is talking about how Twitter is a real-time search engine. Definitely have a few reservations about that. How does “What are you doing?” translate into relevant search results? Not very well at the moment except for a few well publicized events. But what do I know? Maybe Twitter will figure out a way to alter user behavior so that people will enter concise, meaningful posts more often than not.
One thing’s for sure…qrisper finally has some competition.
A little behind on my posts. Had to serve jury duty…thought it was going to be a bigger hassle. But had a few lucky breaks – three actually – that resulted in my service being required for only one day.
First, out of the 300+ people waiting in the room to be called, I was one of the first 20 called for jury selection. Next, out of the 20 people facing two lawyers waiting to get selected or rejected, I was one of the first six called out for questioning. All six of us were chosen to serve (plus one alternate). However, as luck would have it, we were selected for a summary jury trial, which typically lasts for no more than a day. To speed up the process even further, we were treated to lunch while we deliberated. Free meals always make up for something.
It was a bit of a surreal experience for me. I was like, “wait, am I really here listening to these lawyers and arguing with these strangers?” I took on my typical role as Devil’s Advocate, which resulted in the Plaintiff getting an extra $2500, which I though was fair. The other jurors were all amicable and the experience overall was rather pleasant. And I made 40 bucks. Woohoo!
Wow, lots of changes this week. First, I decided to remove all ads from qrisper. Figured I wasn’t going to be making money that way any time soon. So why clutter up the site?
Removing the ads gave me some room to play around with. So I changed the content and layout a bit, primarily by removing the leaderboard section. I also gave search its own tab and removed the searchbar from the page. And I moved the recent answers into the search tab and added categories to the left column. After chewing on it for a bit, I think I’m going to bring back the search bar…just need to figure out where to put it.
Had a couple of duh moments. I was maintaining duplicate files with slightly different content for logged in/not logged in users when I realized that a couple of PHP if statements could swap out the content using the session id. Yeah, duh. Doesn’t end there folks!
I was using Simplepie to pull the latest q&a’s from my database. But then I realized, why the heck am I not pulling the data directly from my database instead of using my own RSS feed? Umm, beats the heck out of me. Anyway, changed that. Progress! Slow but tangible.
I didn’t forget about the non-existent logged in users out there! The right column will become the exclusive domain for the logged in user. Added some stats (questions answered, skipped, remaining, etc) so that users can keep track of their progress. Gonna be adding a lot more exciting stuff so stay tuned!
Furthermore, the main questions page was modified to focus is more on the users answers. I came to the conclusion that I need build two very different qrispers – one for folks seeking answers, another for folks seeking questions. And with that, qrisper just became a lot more complex.
I’ve been meaning to write a few thought pieces on where qrisper is headed. Read a couple of interesting blog posts that I plan to respond to. Hopefully some time next week.
Well, I succeeded in removing four images from the index page. But I replace those with a couple of hundred lines of javascript. Meh, what’re you gonna do. Went a little nuts with jQuery. I changed the forgot password link to do a little switchToggle animation. I also replaced the original qrisper leaderboard ad, which used to be a simple onclick/onmouseover event, with a snazzy sliding panel. I think it gets the message across, don’t you?
But I didn’t stop there with the javascriptin. I wasn’t happy with just having the recent answers in the left column. So I added a cool accordion function, this time using prototype/scriptaculous. I saw another version using jquery but I liked this one better. I think it’s pretty neat. Except I couldn’t figure out how to set the max height for the content (that’s why the recent answers heading isn’t sitting flush against the bottom). I decided to leave it as is since it doesn’t look that bad.
The problem with the accordion function, however, is that as soon as the user clicks on on of the recent answers links, the page will load and the recent answers column will reset back to the bottom. Not very user-friendly. So I figured I’d add a dash of ajax and make the recent answers links load on the screen without a page refresh. I found another handy tutorial on Nettuts that did just that. But the source code appears to have gone through a number of revisions, with the final version incompatible with the current versions of IE7 and Safari. Looks great on Firefox though!
All of these javascript functions were weight my site down. So I looked into ways to optimize the handling of my source codes. Initially, I was using Google’s Minify to minfiy my code. But then I discovered that Google also hosts most of the popular javascript libraries. So instead of attaching a copy of those files, you can link to Google hosted copies. Those are already minified and could potentially provide a speed boost if your users already have a cached copy of the library, which most people probably do. You can find all of the details at Google’s AJAX libraries API.
With the addition of all of the new fancy effects, I also decided that qrisper would no longer support IE6. So I created a redirect page for those poor souls still using that wretched browser. I’ve been using IETester to test qrisper on IE6. Worked pretty well.