JeanCarl's Adventures

Sorry, Doggy, you're not on the To-Do list

December 24, 2009 | Games

I started playing Petville on Facebook. At first, it wasn’t very intriguing. You first choose the pet you want. I chose a dog and called him, creatively, Doggy. You can go visit a neighbor and have your pet socialize while you clean up the house for coins. Wish I could do that in the real world and make money from my friends.

My doggy and I returned home and I cleaned up my own home (picking up more coins). I fed my dog an orange that lasted 24 hours. And that was about it.

A few days later I remembered and went back to see what was up. He was taken to the pound after he ran away, where I had to pay to get him back. No other option except the one button forcing me to pay. Okay, I’m a little cruel. I repeated said actions again, and left him alone.

After neglecting him yet again, he’s in the hospital, and I was forced to pay again to get him back. Come back in two days when I remember and hear this story again.

Obviously, I’m not interested in this game enough to constantly play it. I have real things in my life to do during the day. Taking care of a virtual pet that I have to turn my computer on for is not high on the list. But I come back because I still care about this virtual pet.

Does this show badly on how I would handle a real pet? Probably not (the first sign of denial?). A real dog would be at the door waiting for me when I walked in. I would be reminded by his presence that food, water, or love was needed. My virtual pet just doesn’t give the same signal in my brain.

I should probably set my phone to remind me in 23 hours to go back and visit my virtual pet. That way I can demonstrate I am a responsible human who cares for all beings, real or virtual.

Incremental development

December 22, 2009 | Web 2.0

I recently created a new website and I was in a rush to get the website up and running.  I was forced to choose specific features that were absolutely critical in the first version.  There wasn’t enough time to add bells and whistles, just the basics.

Instead of making it database-driven behind the scenes, I took the easy way out.  All the data was in PHP arrays.  It was messy, but it worked.  I got the site up and running very fast (processing the content took more time than implementing the site).

Once the initial version was up and being used, I was able to determine the next set of features that would be useful.  Sharing the photos on social networks meant more traffic and virility.  A third-party tool make quick work of that.

Later I added the names that went with each photo.  It came time to change the backend to use a database so I could manage things a little more efficiently.  Switching the data source wasn’t all that difficult as I was keeping the same basic data but adding more to it.

Overall, incrementally adding new bits was a lot easier given each was small and built on top of (versus redoing) existing features.

What’s interesting is that I don’t feel I wasted extra time with this process.  I didn’t over design anything.  I got the website out quickly and realized what worked.  Using the system along the way allowed real usage vs anticipated usage to guide the design of future parts.  Perhaps that is why I can say I didn’t throw anything out that took a large percentage of the development.

As a developer, it is way too easy to see what something could be a long time from now (and become overwhelmed at what’s left to do).  If the goal is to get it done now, looking at what you have is the better vision.

Uptime. Really?

August 14, 2008 | Web 2.0

Those familiar with uptime usually associate the term with small or personal websites. It is a percentage usually guaranteed by the provider that the content will be up and available to the mass. The goal is to get as close to 100% as possible, but cost can lead many to compromise for less than perfect uptime.

We have heard about Twitter’s terrible uptime and availability. At times, some wonder if there is more downtime than uptime. Major websites have less downtime as they have redundant hardware (which is expensive but worth the cost). People come to rely on services like Facebook, Google, and Yahoo to be up and ready to serve every request a user makes. Redundancy is part of the cost of their business.

Recently, there has been some rockiness in these giant’s data centers. For whatever the cause may be, they have shown temporarily unavailable pages while they scramble to fix the problem. The truth that everyone experiences some downtime at some point in time is finally coming out and the word is spreading.

Some of the giants don’t show any acknowledgment that they are experiencing downtime. This could be that certain servers and users are experiencing an issue that isn’t across the board. To save their user’s from worrying about an issue that doesn’t affect them, and to protect their image of a perfect service, they avoid notifying all users of such an issue. Perhaps that is why we don’t hear about all the issues and downtime that really happen.

Until we live in a perfect world, there will always be downtime and unaccessible periods. Users should expect that the Internet will not always respond instantly with the content they request. Unless you pay for something, there’s no guarantee that you’ll get what you ask for. If you do pay for something, hopefully you can get your money back.

Extensive Olympic coverage

August 12, 2008 | Web 2.0

In the United States, NBC Universal is making an all out effort to provide extensive coverage of all the sports in the Summer Olympics available for viewing on and offline. What used to be a few hours a day on each of their television networks (NBC, MSNBC, CNBC, USA) has turned into hundreds of hours.

This year nbcolympics.com covers many of the sports, many available in high-definition. Their Picture-in-Picture viewer allows you to watch four different videos at the same time. This is great as the extensive amount of video being offered can cause some to become overloaded with all the offerings.

The on-demand accessibility means that you can watch shows at any time after they broadcast on television or as they happen. No need to wait around for the coverage or fast-forwards hours of other sports. Those on the west coast can feel as if they’re part of the action and not viewing stale competitions.

The fifthteen second commercials are well worth the wait to watch coverage that doesn’t include any additional ads. Watching the video requires Microsoft’s Silverlight, a quick download. Firefox has no issues with Silverlight, and makes watching the videos easy in either browser.

With the extensive coverage comes some disadvantages. There is so much video that you come to expect your favorite sport to be already available. For some competitions that will occur later this week or next, the wait becomes painful. If your favorite competitions are available, finding the time to watch is another issue. With so many sports and videos that look interesting, you may find yourself addicted to more sports than you have time for. Perhaps that’s why there is a Picture-in-Picture feature.

The website doesn’t just provide competition video. If you missed the opening ceremony, don’t fret. You can watch parts of the ceremony online. If you’re interested in knowing more about a particular team, there are extras that are used as filler in primetime.

Must have API

May 01, 2008 | API

It’s amazing what an API can do for a website. Provide one, and your programming staff increases exponentially without any additional cost to staffing. You’ll even gain more users and traffic.

APIs could be considered a separate interface, where it doesn’t bring the average user any more capability than your desktop or mobile website can. More resources are devoted to these versions of websites and APIs are put on the back burner because they are for programmers and geeks.

This is true, but APIs strongly affect how websites grow and market themselves. Developers will not take the time to build scrappers to scrap data from your website and then output it in their own format. Furthermore, this process is very clumsy and can be broken by a simple character change.

APIs are more constant and reliable. You want user data? Call the API, provide a user id, and you get a response back that is constant (user data). Developers are motivated to make consistent call to get the data and present it in their own format.

These developers that are enticed with easy to use interfaces will do the work for your company. Because they want to see your website data in their format, there is a benefit for them that doesn’t cost you any more than serving data, which would happen in any format of your website.

These applications that are built usually mention your site by name and provide link to your website. This free marketing to a potentially large audience still didn’t cost anywhere close to the price of ads. And if they cache the data, your servers won’t be hit as much.

Lastly, these application will entice more developers with their own ideas for mashups of your data. And all your engineers needed to do was provide an API and make sure the servers are responding and handling all the data being sent and received.

Without an API, you’re doing all the work, and it’s quite some work for a startup.