• Home

CodingExperiments.com

CodingExperiments.com is a site where I can (obviously) experiment with various demonstrations of code.

Search

Category:

  • AJAX
  • Announcement
  • Apple-related
  • Best Practices
  • Blogger
  • Blogging
  • BurstCMS
  • Content Management System
  • Debugging
  • Experiments
  • FriendFeed
  • Gaming
  • General Code
  • Internet
  • Javascript
  • Linux
  • Microsoft
  • Microsoft Windows
  • Networks
  • Open Source
  • PHP
  • Programming Tips
  • Rant
  • Security
  • Storage
  • Twitter
  • Ubuntu
  • Uncategorized
  • Web Development
  • Windows Vista
  • WordPress

Archives:

  • November 2008
  • October 2008
  • September 2008
  • August 2008
  • July 2008
  • June 2008
  • May 2008
  • April 2008
  • March 2008
  • February 2008
  • January 2008
  • December 2007

Pages

  • About
    • The Authors
  • Commenting your code
  • How to Write Papers with Groff
  • ModCMS Anti-Spam Component Set
  • ModCMS Technical Specifications
  • Regular Expressions Guessing Game
  • Saving code directly to a web server
  • The (Almost) Perfect PHP 404 Page

Meta:

  • RSS
  • Comments RSS

Awesomeness tracker

CodingExperiments at Blogged View blog authority
Free Page Rank Tool

What Twitter Taught Me on How to Build a Web Application

August 5th, 2008 by possible248

A lot of people are out in the world, looking for something. These people are not looking for a lost dog or wristwatch, but these people are looking for something more valuable; ideas. Ideas are extremely valuable now, and they always have been. Nowadays, ideas have changed slightly. They are more likely to involve software and vast server farms. A lot of people are wondering, “How do I generate an idea that will be popular and generate income for me?”

I don’t claim to be an expert, but blogging allows people to pretend to be experts on various topics, so I’ll take a shot at explaining how to make a popular application. Remember that other negative things, such as the application having a horrible interface, may reduce the effect of these tips.

How to Make a Popular Application

1) Create something that nobody needed before, but now that you have showed them, they want it.

This can be called the Twitter effect. In the history of communications, using 140 character messages to communicate isn’t what people thought that they really needed. Now, some people are crazy about microblogging.

A huge advantage in creating something that nobody previously thought was needed is that in the beginning, the creator has no competitors. Twitter has had massive success while competitors are not close to Twitter’s user count. Of course, Twitter’s mistakes have users flocking to FriendFeed, identi.ca, and Plurk.

2) Create something that can easily be used in many, many ways.

I’m going to use Twitter as an example again. People are constantly finding new and creative ways to use Twitter. Not everybody is just using it to broadcast what they had for breakfast. CNN is using Twitter so people can quickly be notified of breaking news (find CNN’s Twitter account here). Comcast is using Twitter to interact with customers (find Comcast’s Twitter account here).

2.1) Create something extensible

Both Twitter and Firefox have had a lot of success due to the fact that both are extensible (in slightly different ways). Twitter’s API allows developers to create things such as Twhirl and Summize (the latter being acquired by Twitter recently).

When you make something extensible, it makes it much easier to use it in many ways. Firefox is a great example of having an application with many uses through extensions. The Firefox extension ScrapBook can make Firefox into a primitive web scraper, Twitterfox gives Firefox the features of a Twitter client, and I could keep going with good Firefox-related examples.

3) Create something that the user thinks saves time.

They say time is money. Interestingly, helping decrease the amount of time it takes to get something done can generate you money. Notice that the title of this tip doesn’t say, “Create something that saves time.” If an application saves time, but potential users think it will waste time, then it does not matter that it saves time.

Conversely, if your application increases the time it takes to get something done, but the user thinks that time is being saved, you will still generate money. The problem with making the user think that time is being saved when time is being wasted is that it does not take very long for the users to figure out that time is not being saved at all. What’s that? It’s the sound of the customers walking away with their money.

How does this relate to Twitter? Now, a lot of Twitter users would simply say that Twitter is a time-wasting social network. Still, if a user thinks Twitter is a time-saving service, the user will use it as a time-saving service. Of course, the user might discover that Twitter isn’t saving them any time and then stop using Twitter. The key here is to use either Twitter itself or Twitter’s extensibility creatively.

An example of applying GTD (Getting Things Done) to Twitter is to creatively use the SMS features. Depending on the user, it may or may not save time. If you spend enough time thinking about it, more ways to use Twitter and Twitter applications can be thought up.

Posted in Best Practices, Twitter | Comments

A Look at Kwippy And an Interview with Kwippy’s CEO

July 24th, 2008 by possible248

Click on the above image to go to the original version. Original version made by Flickr user Mr. Wright.

Ever since Twitter’s famous fail whales started appearing, a group of people (including me) started looking for alternative microblogging services. I experimented with identi.ca, which runs on the open source laconi.ca microblogging software. However, the alternative microblogging service that most stood out to me as a viable competitor to Twitter is Kwippy. First, take a gander at Kwippy’s looks.

See that little green rectangle with “Feedback” written there at the top? The feedback button is easy to find, and a user can quickly give suggestions to the Kwippy team. The Kwippy folks were smart enough to put the feeback feedback button right where nearly everybody can see it.

It’s great that Kwippy really wants your feedback, but what I think is even better is that individual kwips can have comments.

Click on the above screenshot to see it full size.

This solves the problem that Twitter users have faced with the @reply feature. In Twitter, replying to a user’s tweet does not indicate which tweet of the user you are replying to. Kwippy avoids this by allowing comments for kwips. Comments cannot reply to other comments, but commentors (for the lack of a better term) can be notified of upcoming comments if they wish.

Like Twitter and some other services, Kwippy also has an IM bot that you can use to post kwips. The IM bot will notify if another user friends you, buzzes you, favorites one of your kwips, or comments on a thread you are tracking. All of the notifications are configurable, so you can decide if you do not want to hear certain notifications.

Hmm, I seem to have forgotten what character limit kwips and comments have. Oh wait, they don’t. Kwips and comments do not have a character limit, and this is one of the more interesting things about the service. Kwippy’s blog has posted their reasoning on why they have not put a character cap.

Okay, so the Kwippy folks want feedback, make good user interfaces, allow comments for individual kwips, and don’t put a character limit on kwips and comments. But what about scalability? Will Kwippy be able to handle a Twitter-like userbase? You can look at the inner details as another official Kwippy blog post gives stunning insight on the technology that Kwippy runs on. Whether or not Kwippy can scale to huge amounts of users remains to be seen.

Unfortunately, Kwippy is an invite-only service. Existing Kwippy users have infinite invites, so it should be very easy to obtain a Kwippy invite.

Now, if you’ve glanced at the title, I’m assuming that you’re waiting for the interview with Kwippy CEO Mayank Dhingra. Mayank consented to an email interview, and here are the responses to the questions that I asked him (some spelling/grammar corrected).

Q1: Having a business model is crucial for a startup. How does Kwippy plan to make money?

A: Well leaving aside ads as a backup we are exploring other options which haven’t been used elsewhere.

Q2: Another thing crucial to a startup’s success is the ability to learn from mistakes. What have you learned from the mistakes of other microblogging services and what mistakes have you made in the development of Kwippy?

A: In hindsight you always realize there are things that shouldn’t have been done or could have been done better. Scalability/Stability is one of the most prominent problem haunting the microblogging world but their are some other less prominent problems like [the] “complete disappearance of the blogging perspective” & monetization. We’ve been quite aware of them from start and are constantly trying to do our best in taking care of them.

Q3: Why did you even want to start a microblogging service in the first place?

A: Kwippy started as a “IM Status aggregator” in the first place, then we added ability to have discussions over them, by this time all of us were avid microbloggers but our understanding of microblogging was quite different from the existing services and thus kwippy evolved into a “Microblogging App” in an effort to bring out the best of blogging and microblogging worlds.

Q4: What would you say to people that say Kwippy and other smaller microblogging services will never take over Twitter?

A: All I can in this regard is Twitter has the first mover & Community advantages working in its favor. Community is built over time, it was the case with twitter and it certainly will be the case with others. I strongly feel any service which offers a better yet easy approach to microblogging and manages to stay up has a good chance to be successful.

Q5: In one sentence, please summarize what sets Kwippy apart from similar microblogging services.

A: Till we implement all that we have plans for[,] it will [take the] “IM Status aggregation and Blogging like approach.” Also [a] lack of whales or other creatures :)

Q6: What has been the most enjoyable part of being part of Kwippy?

A: From coding to evangelizing every bit has been exciting but nothing compares the joy of creating a product that evolves according to user feedback and makes people who are part of the change very happy.

Q7: If you are willing, can you give us a sneak peek of some upcoming features in Kwippy?

A: Next in line would be import/invite features. Making friends,  adding support for more channels and other small things to make the site more engaging and viral.

Q8: What is the number one reason that an existing Twitter user should switch to Kwippy?

A: Because kwippy is “Microblogging redefined” :)

———–

Want to see even more coverage on Kwippy? There are two posts on the official Kwippy blog that have lists of more blog posts covering Kwippy.

Also, as a Kwippy user (my Kwippy page here), I have infinite Kwippy invites to distribute to you. Post your email address in the comments if you want a Kwippy invite.

Also, I apologize for the lolcat at the top of this post. I couldn’t resist.

Posted in Blogging, Networks, Twitter, Web Development | Comments

What Is the Correct Path for a Twitter Clone?

July 4th, 2008 by possible248

Introduction

Recently, the Twitter clone identi.ca launched. Identi.ca interests me more than the microblogging services Jaiku, Pownce, or Plurk because identi.ca is open source.

Of course, identi.ca has gotten some criticism. At the time of this writing, identi.ca is shockingly featureless. There are also some minor bugs, and it appears to be unstable at times. I have seen PHP errors on the page, timeouts, and identi.ca messages (informally called by the community as dents) not appearing. Identi.ca supporters counter that identi.ca was released early and it is expected to have problems.

But this raises an interesting question. Should a microblogging service open up to the public when it has few features, or when it is fully polished? Open source applications traditionally allow input from the community at a very early stage. But when a product is released to the public, it generates a lot of buzz, which is useful in getting people to use the product. This buzz can go away when people get bored of talking about the product, and it is possible that potential users could become uninterested with the service and not come back when it has new features and bugfixes.

Of course, a lot of open source applications can still be open to the public early and generate the most buzz at the right time. Firefox is one example of this. Even though many people had tried out the Firefox 3 alphas, betas, and release candidates, Firefox still got a lot of buzz during Download Day.

But the thing about Firefox 3 and Download Day was that Firefox generated a lot of buzz by attempting to go for a world record. Attempting something like that is much more difficult for smaller organizations.

But so far, I seem to have overlooked an option. I have only mentioned going public early or staying completely private until the service is, for the lack of a better term, done. There is always the option of the invite-only phase. In this situation, the user base grows as people invite others, but the growth is slower as people have to be able to obtain an invite to be able to use the application. Invite-only testing also gives more control over how many users join, because the application developers control the invites. This means that the growth of the userbase can be slowed or even stopped should scaling problems appear.

Also, I’ll note that in my idea of an invite-only microblogging service, anybody can view the messages of a user, but only those with invites can register accounts and post replies.

Below are the advantages and disadvantages of going public from the start, staying private until the product is finished, and

Going public from the start

Advantages:

  • You have more eyes looking out for bugs.
  • You have more time to build a community, which is a big part with Twitter clones.

Disadvantages:

  • If you are not careful about how you market it, people could see your service as uninteresting as people have already talked about it.
  • The community might not come if your service doesn’t have necessary features or is buggy when they tried it.

Staying private until the application is polished

Advantages:

  • The application is abundant with features.
  • The developers have the ability to radically change the service without worries. There are no users to be affected by the changes.
  • If the application is tested properly, bugs are caught quickly and before the bugs annoy any users.

Disadvantages:

  • The developers cannot listen to the wishes of the users. This means that time might accidentally be spent on features that the users do not think are completely necessary.
  • Usability testing is limited to very few people.

Going with an invite-only testing phase

Advantages:

  • Control over the growth of the user base.
  • Hype as not everybody can get a first-hand look at the service.
  • Benefits involving the community without the negatives of going public early.

Disadvantages:

  • Microblogging generally works well when you have a large community. Having a small community reduces the use of microblogging as fewer people can respond to a user. Because of this, the user is given more incentive to invite other people to contribute to the discussion.

Conclusion

None of these paths for microblogging services are perfect. I say that it depends on the developers. If there is a clear plan for marketing the service, going public from the start looks like a good choice. If the developers think it is best to gradually increase the userbase to test see if the application scales up properly, invite-only seems like a good option. If the developers want a grand opening, or some other better reason, staying private until a later stage might work for them.

Posted in Twitter | Comments

« Previous Entries

 
Wordpress Themes by and Website Templates by Blogcut Blogged Blog Directory Blog Directory - Blogged