Dec 21

Mac and Windows togatherA few weeks ago, I reinstalled Mac OS X Leopard after one year of experiencing my first non-Windows environment. Not that I needed to fix something, but simply I wanted to set the optimal environment which I’ve learned by trials.

So far, it has been very satisfying, and owning a machine which allows me to have both Mac and Windows worlds for development is purely exhilarating.

To be honest, I don’t have anything against Windows environment. Rather, it’s because I still can have Windows in a Mac machine, I decided to get one, so I can obtain the privilege to use Mac OS X(Unix) and Windows together. For acquiring this environment, I figured Mac could be the only machine, unless I hack something.

It has been great joy to find more about Mac and useful equipments for the developers and to train myself to become better at them.

This is the list of applications I was recommended by great blog posts, and would strongly recommend to other Mac users, especially to the new developers who has experienced Mac for no more than a year like myself. I personally use these, some are available also in Windows, and of course, they are free.

Xcode:

There is no other IDE for developing an application for Mac OS and iPhone. Unlike Microsoft’s expensive Visual Studio, you can get it for free, as included in Mac machine you purchased. You may have to pay for iPhone Developer’s Program if you want to use an actual device for testing and deployment, but to use only simulator you can get Xcode with iPhone SDK for free. Currently, I am enjoying so much time to master this great tool.

Eclipse:

I cannot say much about this, but it seems like this IDE is a must for Java or other popular language developers, almost in every environment. Though I’ve been using it less then I expected because of using Xcode and Aptana more, I think nobody can ignore the importance of its presence in a developer’s machine.

Aptana:

Using almost identical user interface as Eclipse, this tool is specialized in web development. Whenever I need to write a web program, rather than using Eclipse, I use Aptana. So I designated Aptana for web development, and Eclipse for Java.

TextWrangler:

I just can’t find any other editor better than this for Mac environment. This one has almost every feature a developer can ask for. My use of an editor is to modify codes already written, while IDEs are for writing new codes, because they provide code suggestions while typing. Together with TextWrangler, I can have a mini and quick IDE for anything.

DropBox:

If you are in the situation of using more than one computer in many places, DropBox folder is a must. Though it gives only 2GB to be used for free, it’s sufficient to synchronize your working files to be shared among your office computer and home computer. This synchronization is very powerful if you save your workspace of Eclipse or Aptana in DropBox folder, you can have same coding environment shared among the computers accessing the same DropBox folder.

FileZilla:

So far I’ve been using only this one, because it seems to be the simplest and the fastest. I strongly recommend this for its bookmark and folder synchronization features.

XMind:

This is a great tool for building a beautiful mind map of your own. To me, the user interface and icon are simple and pretty.

NTFS-3G for Mac:

Since I use Windows also, it’s necessary to be able to access NTFS-3G formatted disk. You may use FAT32 format to be used in both Mac OS X and Windows, but it’s doesn’t allow a single file to be bigger than 4GB. Using this, you can stay in Mac OS X mainly while accessing Windows file system freely.

SynergyKM:

I use more than one computers. If I want to use all of them on the same desk, it’s necessary to use only one keyboard and mouse to be free from annoyance of interchanging between different keyboards and mouses. This app allows to share keyboard and mouse with multiple computers using different OSes. As long as the computers are in the same network, knowing the IP address or the computer name of the main(server) computer which will share its keyboard and mouse is suffice.

Can anyone recommend more apps, or the better alternatives to these, especially for the developers using Mac? I would love to get some comment. Thank you!

Tagged with:
Nov 21

My last post was published on August 29th, re-posting other blogger’s post. It was difficulty to balance working for others(company) and working for myself. (if they can be distinguished.)

I’ve been busy working for the company, learning and trying fundamentally important subjects. Learning new things, often with so little resources, without a personal assistance or a dedicated mentor, I’m humbled and grateful that my working environment does not simply consume my talent, but rather trains me to become more knowledgeable and pragmatically skillful.

Initially, my team was focused on iPhone development, following the latest craze, but unfortunately due to lack of preparation, the project is now canceled. It’s hard to ignore the importance of knowing exactly what to do before trying anything.

Currently, I’m actively leading an open source project, in the category of ECMS, using the famous Alfresco. For now, only I can do is utilizing it with addition of Korean language, but I hope sometime sooner my team and I can commit some meaningful contribution to the source.

Tried to blog, saved some drafts with the interesting ideas, but being not so confident enough to write without full knowledge about the subjects, prevented me from publishing. Maybe I am being too careful, or being simply procrastinating. Well, in a good way, Twitter being the useful micro blogging can be the understandable excuse.

As I got used to the professional work environment and pace, I think now I can find the time to blog more regularly, possibly at least once a week. What I strive to get is to be efficient in managing time economically for working for other and myself.

Though it has been too busy and difficult to make time for myself, I am glad that my professional experience has been enriching, meaningful enough to share with others.

Tagged with:
Aug 29

ORIGINALLY POSTED IN: [CopyBlogger]

It’s interesting to run into an article about the deeper mindset, truth shared by a bloggger him or herself. Usually the established bloggers don’t show their inner thoughts, while focusing on professional, educational contributions through their posts. But in my case, for being a developer yet to be grown to become truly professional who can contribute significantly, it’s not easy to make regular posts. I wrote about Why it’s hard for me to blog frequently previously and this article by Mr. Truant seems to recognize the beneficial effect of opening up oneself to the readers.

The problem with most blogs and most bloggers is that they’re playing it safe. They’re just “reporting” on things, playing by the rules of what a person should and shouldn’t say in public. If you can buck that trend and talk about what others are feeling but won’t admit, you’ll draw a reaction. Opening up, especially when it’s uncomfortable, will get you more comments.

I guess people often feel difficult to comment on the superior post which may not need any addition or editing. But if the post is about inadequacy of incompleteness of the author or the subject matters, it becomes much easier to add to or edit the inferior post by commenting. Identifying this idea, Mr. Truant listed how to get more comments:

  1. Think of something that you feel or that is bothering/affecting you, but which you are reluctant to talk about.
  2. Ask yourself if other people are likely to identify with it or to feel the same thing, but are similarly reluctant to admit it. There’s little point to confessing to something that only you feel. (So for instance, perhaps you have a deep desire to rub yourself with rats. It seems unlikely that others will share this desire. But maybe that’s me. Maybe I’m out of touch.)
  3. Make your confession, showing yourself in full, naked glory.
  4. Watch the comments roll in.

This works because everyone has foibles, but most people are too preoccupied with looking “correct” or “professional” to discuss them. By finding and talking about these “elephant in the room” topics, you’re being brave on behalf of your readers. You’re being the first person to say what everyone is thinking, but which everyone is afraid to admit. You’re giving them permission to feel the same way, to discuss it, to admit it in kind.

While it’s important in blogging to be able to guide and contribute by sharing special knowledge or providing better solutions to the problems, sometimes it’s meaningful to connect with the readers by having the vulnerable communication, making oneself seemingly weaker. Amazingly, people don’t easily attack or slander the humble and  sincere blogger.

But what people really want, I think, is a friend. Not some know-it-all who pretends to like you just so he can make a sale, but a living, breathing human being who is just as screwed up as you are and isn’t afraid to admit it.

Tagged with:
Aug 22

I have been posting selected excerpts from the book “Designing for a Social Web” by Joshua Porter. Translating back from the Korean version of the book, I just want to tell the readers that the serial posts of the excerpts is not authorized by the owner of book. I just wanted to share the excerpts so useful to my own projects, and thought the imperfect translation from Korean version back to English may be acceptable.

Following excerpts are not as structured as a serious composition should be, merely combining the selected sentences I took from the book and translated back to English.

<< Previous Chapter 5: Keeping the users constantly satisfied

Selected excerpts from Chapter 6: Building collective intelligence

Sometimes, an individual must be sacrificed to provide better service to the mass.

Complex System is the mutually linked one, cannot prove its features or functionality when it’s disintegrated.
But when it’s integrated as one system, it shows more than one actual or potential features or functionality.

Adaptability is the capability to change flexibly throughout time.

It’s important for the designers and the developers to flexibly change the target users for keeping the system as healthy as possible.

The purpose of this kind of social system is to concentrate individual activities and bring out or create the most qualified and largest number of contents. The result of this process is called the collective intelligence.
The designer or developer can draw insightful ideas and information from this collective intelligence generated by many people.
In other words, the larger number of people can make the more qualified and accurate decisions, than the smaller number of people.

For this to be possible, activities of the users must be recorded and the innate or implicit patterns must be brought out using these steps:

  1. The initial behavior like submitting a new content. The fate of it is determined by the system rules and the other users.
  2. Exposure. The algorithm or the rules of the system based on the subject or suitability to the system. The exposure changes to display the good ones among different contents.
  3. Feedback. The users of the system can change the exposure of the content by affecting the algorithm through positive or negative interaction like commenting to the content.

When your content is exposed with other similar contents, it would require only little effort to promote it.

Too much content of different quality causes confusion to the users. The system must be able to control the submission to encourage quality content exposures over others.
Entry barrier is the mean to gain superiority in the market, likewise adopting or abolishing the entry barrier in the web service is critically considered for keeping the service as healthy as possible.
These are three types of barriers:

  1. Unofficial barrier: The special design or advertisement only work implicitly on special group of people.
  2. Official barrier: Requiring signing up for an account, installing an application.
  3. Extreme barrier: Invitation only, not open to the public.

Digg uses these kinds of barriers to ensure the quality of content submitted.
It is important to evaluate the suitability and the originality of the content.

Normally, people consider the well exposed content to be valuable.

  • Exposure in the main first area
  • Frequency of exposure affects the value
  • Head position in the first page
  • Higher rank compared with other contents

The purpose of most content is to draw a lot of visitor traffic, to the point of server error!

The ranking depicts the relevancy of contents to the users. Each user applies different combination for viewing conditions to the list of contents.

  • Chronological order
  • Popularity gained during certain range of time
  • Level of participation
  • Collaborative filtering
  • Relevancy
  • Identity of the content provider
  • Providing different perspective to look at one’s own content

The ranking is important to promote better user experience. It allows the user to recognize the value of content by comparing it with others.
The value of news service is freshness, of search engine is relevancy, and of social network is relationship.

Interface of the service is the world where users dwell and play. What’s displayed through interface determines the user experience. People often rely on the decisions made by others to make their own. Unless, the interface of the service purposely not showing information about what others think of the content, people’s evaluation on the content is heavily affected by how positively of negatively the content is examined beforehand by others. Social interface changes user’s decision.

The implicit and explicit feedback to the content are combined together to construct the overall reputation of the content.
The implicit feedback is generated from the user activities like visiting the page, bookmarking, clicking the download icon, and purchasing.
The explicit feedback is like reviewing, commenting, expressing the user preference.
It is very important to make the mechanism for feedback to be so easy to use, like Digg button on a page.

Leverage point is the small thing of the service which can affect the large part of it. Opening this leverage point to the users to participate in building the quality of the web service is necessary for actively growing the social network service.

Next Chapter 7: Encouraging to share >>

Tagged with:
Aug 12
Melted Ice Cream from DisplayFakeFoods

Melted Ice Cream from DisplayFakeFoods

For many days, I had been seriously considering to register a domain for my web development. Finally, after many days of speculation, I had come up with almost perfect domain name. It was about two weeks ago. At the time, registration for one year was priced about $7.99. However, because of my personal reason, I hesitated to obtain it thinking there might be better options. I was wrong. And now it costs about $59.99 for one year.

I couldn’t understand what happened to me. The price that I saw about two weeks ago was sale price and I didn’t know well about the price difference in registering .at, an Austrian domain. In other words, I wasn’t fully informed about domain pricing and business. I can’t help but still thinking what if I didn’t hesitate to register the domain at the moment of conceiving the domain name.

Another lesson I learned is about the danger of procrastination. My hosting company sent me an email about its affiliate program offering $10 for putting the banner linked to its website. Not reading the details of the email, I thought about doing it a few days later. But the email offer was valid only for 3 days. Noticing how easy it was like notifying the hosting company that I put the banner in my website, I was embarrassed to ignore the value of $10 which can be used for supporting my hosting charges. Lost the easy money.

Here I would like to stress the reasons why hesitation or procrastination is ALWAYS BAD:

It happens because one is not informed enough.

Due to having narrow viewpoint or stereotypical idea, one cannot act even though the decision to do it needs to be made as soon as possible to progress the task.

It cannot be replaced by better activities.

To be honest, I cannot confidently say I always did something better or meaningful things while in the state of hesitation of procrastination.

You cannot expect the future.

Accidents happen and the remaining time becomes so much shorter than anticipated.Often it’s caused by other factors, but blaming them is not the right excuse for lack of preparing for accidents.

It leads to abandoning the initial plan.

Unless I had the strong need and will to obtain the domain name before it was too late, I would’ve abandoned my plan for developing a web service. It frightens me how shameful and regretful it could be.

It is not a good thing to talk about.

Almost nobody wants to hear about the reasons or excuses for hesitation or procrastination state. The professionals working together will definitely think negatively about the one who is mindlessly talking about what he or she could do if he or she had enough time but didn’t.

Does anyone think differently? What’s differences between hesitation and procrastination? What are your experiences? Can anyone likes to suggest links?

Tagged with:
Aug 11

Korean version of Designing for a Social Web

Korean version of Designing for a Social Web

I have been posting selected excerpts from the book “Designing for a Social Web” by Joshua Porter. Translating back from the Korean version of the book, I just want to tell the readers that the serial posts of the excerpts is not authorized by the owner of book. I just wanted to share the excerpts so useful to my own projects, and thought the imperfect translation from Korean version back to English may be acceptable.

Following excerpts are not as structured as a serious composition should be, merely combining the selected sentences I took from the book and translated back to English.

<< Previous Chapter 4: Bringing people to sign up

Selected excerpts from Chapter 5: Keeping the users constantly satisfied

The real difficulty in running the web service is to find the way to bring people to use it constantly. The first impression which led to have loving relationship quickly fades. The answer is in motivating the users.
Keep paying attention to the users, and it will be rewarded with more ads and sponsors. Remember that these are the effect of the successfully running the service, not the necessities.

  1. Understand why people wanted to sign up and use the service
  2. Build the right interface which can motivate the users to keep using the service

Why people sign up?

Most people use the web service for simple reason. For example, the users of Amazon give and get helps from one another through reviews (reciprocity). They simply wanted to return the favors. They believe that sharing their experiences can help the other to make sound judgment.
Designing a social web service is not about economical problem, but about social capital problem. This is the list of things related to the social capital to be used in building the right interface:

  • identity
  • uniqueness
  • reciprocity
  • reputation
  • sense of efficiency
  • control
  • ownership
  • attachment to a group
  • fun

Manage identities

We have rights to present our identities freely in online environment. Online anonymity is also about managing identities. If the power and the importance of identities is neglected or denied, these problems may occur:

  • Spamming meaningless messages to the mass
  • Abusing the service, or using the service not as what the developers intended it to used
  • Inappropriate use of commenting
  • Pretending to be someone else, deceiving others

Usually, lack of clear identities cause and condone bad behaviors. There will be no way to describe one’s action and to ask for responsibilities or reward the right behaviors if the identities are not known.
Depending on how the service manages the identity, the minimum requirement like using a nickname will be sufficient enough to prevent some abuses.
Profile page is closely related the concept and the value of the web service. Each different web service displays the user profile differently.
The content must dynamically updated and displayed to the users. These are the updating mechanisms:

  • Lifestreaming. Showing the latest activities from every source.
  • Commenting Wall
  • Notification

Be aware of the problem of social network being deteriorated caused by lack of interesting activities beyond signing up and updating profiles.

Emphasize individual uniqueness

The web service should know: What’s it that only this person can do and no one else? What makes each user unique to one another?
For example, Netflix recommends movies based on the reviews the user has been made. The good service recognizes and responds to the uniqueness of the user. There are many ways to respect and encourage the users to express his or her uniqueness:

  • Display special copies about certain activities which require participation
  • Emphasize that the user can make positive contribution
  • Bring out the benefit of his or her unique contribution
  • Keep reminding him or her how unique he or she is
  • Develop the unique contribution into the meaningful perspective or element used in the service
  • Display the page which shows the differences between the contribution of the user to that of others

Maximize reciprocity

Reciprocity is about exchanging what the users gained from one another. People do have tendency to make contribution as a response to the favors they received from the other users met while using the web service. Being able to give is another form of having respectful authority.

Empower reputation

Reputation is built around the opinions of others so have strong objectiveness. The good web service has the clear system of managing and measuring one’s reputation. These are the example criteria:

  • The number for friends or fans
  • The number of posts
  • The ranks of these posts
  • The number of comments and their qualities
  • The number of posts recommended by others
  • The number of first submissions
  • The length of being an active user

The reputation plays the important role in collaboration, and the result of collaboration affects the reputation. The three conditions for collaboration to occur according to Robert Axelrod in “The Evolution of Cooperation” are:

  1. Possibility to meet again in the future. Staying as the users in the same service increases the possibility.
  2. Ability to know about one another. Knowing the reputation alone is strong enough to decide whether to collaborate of not.
  3. History of past activities of the users. The best way to judging the reputation is examining the user from the past records.

Promote usefulness

Usefulness can be defined as what benefits the users can obtain from the values of themselves using the web service. Rewarding properly to what the users contributed is how the web service becomes useful to the users.

Allow the power to control

The users often demand the power to control their own contents, whether it’s actually practiced or not. It’s important to the users to have the secure means to control the web service even if they will never use it.

Give ownerships

Let the users feel that this web service is specifically built for them, using the contents of them, and managed by them. Assure the users that it’s meaningful to use the web service. These are the effects of giving ownerships to the users:

  • Adorn the contents to be more than what they seem to be
  • When the contents are published, the owner takes more responsibilities, by taking care of them to have more values
  • Some responsibilities to manage the contents are delegated to the owners, easing the burden of the web service
  • The perception about the web site becomes more friendly

However, don’t let this ownership invade the ownerships or the user experiences of the others.

Provide model behaviors

For promoting the right ways to use the web service, the model behaviors of certain group of users can be used.

Develop attachment to the web service

The love for interacting as a group is one of main reasons why people use Internet. Most of the famous websites are for supporting group activities. Community is the very essence of social web service. People becomes the users of the service not only because it’s useful, but also it’s fun.
According to Kathy Sierra, if the web service can help the users to know more about their worlds, and to believe that the web service is exactly what they needed, they can see about themselves under the brighter lights. In other words, they will find themselves to become better than before, strongly motivated.
To receive passion from the users, the designer and developer must give passion to them first.

Next Chapter 6: Building collective intelligence >>

Tagged with:
Aug 03
Keep Thinking from thinkinTub

Picture: "Keep Thinking" from thinkinTub

Examining myself very closely, my recent difficulty in blogging is not because I am a total recluse who doesn’t like to share with anyone about anything. Or I can make it worse by labeling myself as a lazy person, but it’s not actually true considering what’s going on in my mind. I do have some topics in mind, but somehow it’s just not as easy to share them with the public as I thought it would. It seems to be a methodical, or a situational problem which I must learn to deal with using the solutions from the experienced bloggers and developers. There are what I suspect to be reasons or excuses for my lack of blogging.

Preoccupied in doing a project. But it’s not ready to be opened and shared yet.

  • Because I want to keep it as a secret.
  • Still the project in the conceptualizing phase which is still too abstract even to myself.
  • Waiting for internal and external encouragement on this, to solidify confidence in the project.

I guess this waiting is the major cause preventing me from actual progression. Also, without opening the minimum information about the project, how can I expect to learn anything from the experienced developers whom I can meet and interact through blogging? I must learn to present and communicate well with the experienced developers.

I am not tuned to the current events.

  • Not because I intentionally ignore them, but simply I just want to distinguish facts from opinions and it’s taking some time.
  • Due to my lack of professional insight, what I can blog about current events is only the repetition of what’s already there with a little bit of my simple thoughts. It’s not a real contribution in my measure.

To gain more professional and unique insight, it would take a lot of reading and speculating, challenging me to build and re-build knowledge basis. This task must be taken quite seriously and I need find the right way to do it.

I need to have more reading and watching to expand my knowledge and imaginations, which cannot be limited in web browsing.

  • Embarrassingly, I began to understand the need to have more various activities including something entirely different from or even against one’s field of study, in my case it’s Computer Science.
  • Narrowed perspective, intentionally or unintentionally gained prevent one from developing and sharing his or her experiences or thoughts with others.

I am thinking about having more knowledge in film making, English learning, Bible study, social servitude, and unknown other possibilities. The additional solution is to meet more people from various interests. Though I don’t neglect the value of socializing, it’s been hard for me to be more proactive.

Not utilizing the notes in my journal.

  • As a proof for not being lazy, I’ve been keeping journals. However, almost none of the notes are used in blogging. Because of excessive filtering not to jeopardize my private notes, my record keeping has contributed so little for my blogging.
  • But most of all, I think it’s lack of confidence in my notes that prevented me to review them more carefully to find the value.

The worst thing that I found while writing this blog, blogging infrequency is the consequence of not following the plan as it is scheduled. Procrastination is the worst kind of enemy for developers and bloggers like myself. It’s not only about unable to do something, but also about taking away the opportunity to do something else, possibly better and more important thing.

And I must free myself from fear of not becoming a responsible contributor. Accepting my current status of being a student of life and knowledge without any set date for graduation, must not be ashamed of utilizing the resources from others especially the open information and I must understand that mature blogging experience require so many trials and error.

In conclusion, not only for my blogging but also for other activities, I must embrace beauty of making mistakes and learning from these valuable experiences.

UPDATE(2009/08/04 16:31) Found a good article related to this blogging problem. [CopyBlogger] The Most Horrible Blog Post Ever


Tagged with:
Jul 20

Following excerpts are not as structured as a serious composition should be, merely combining the selected sentences I took from the book and translated back to English.

<< Previous Chapter 3: Sincere Conversation

Selected excerpts from Chapter 4: Bringing people to sign up

The users who consider the web service to be useful, they will show appreciation toward the developer who invested so much time and energy.

Usually it takes only 8 seconds for a new user to make a decision to sign up.

Even for the already signed up users, the continued process to keep them interested and persuaded is crucial.

The issues about persuading people to sign up:

  • First impression doesn’t change easily. Decision to become a loyal user is done when he or she saw the web service for the first time.
  • So many questions without opinions. Answering to their questions is the opportunity to talk about the web service.
  • A watchful latent user is becoming an active user at this point
  • The critical decision is made. To the general users, decision to use your service is not as important as success of the service.

The categories of users:

  • The users who are ready to use the service. They know the value of the service and willing to accept some difficulties in using the service.
  • Interested, but not assured users. They need to have an opportunity to find about the value of the service.
  • The fact-finders. They want to examine the service objectively based on the opinions of others. Provide them with the good instructions for using the service.
  • Skeptical users. Show the proof that many users are satisfied using the service.

The well designed sign-up page can make a visitor to be an user of the service.

Must for well designed sign-up page:

  • Give clear description of the features of the service
  • Convince the users that this is an useful service
  • Provide answers to the obvious questions
  • Challenge the unreasonable criticism or provide the facts of the service
  • Let the users to try the service to finish a task
  • Let the users to contact the other users of the service
  • Give an idea what kind of relationship the users and the service provider can establish

The essential questions:

  • Who will use the service?
  • What will the service do?
  • Where will the service be used?
  • When will the service be used?
  • Why the service is important?
  • How to use the service?

Using the pictures or the icons, explain what the service does concisely.

Complicated interface means complicated service.

Show people how to use the service.

The technical people are interested in the efficiency of the service.

Adopting the social influence idea, people care about who uses the service. It’s hard for the general public to resist the general trend.

People find it easier to sign up when their friends are already using the service.

Show the recommendations from the respectful personnel, and even from the competitor.

Specify the target users. The specifically defined service is effective.

Provide the user stories about how the service is successfully being used.

If the number of the users or usages is significant, show it to be visible to bring more attention.

Utilize the authoritative figures, their presence in the service.

Let the visitors try or use the service for free without any limitation.

Reciprocity is powerful. Give something for free to make the receiver to react in some way to return the favor to get out of the sense of being indebted.

Unless it’s necessary, build the service without needing to create an account.

Ask only for the necessary information from the user.

Next Chapter 5: Keeping the users constantly satisfied >>

Tagged with:
Jul 19

ORIGINAL ARTICLE: http://www.readwriteweb.com/archives/future_of_search_social_relevancy_rank.php

The article talks about the importance of prioritizing search result, or stream of posts, not based on chronological order, but based on social relevancy, or social network of followers of oneself and people he or she is following.

What we are about to get is a Social Relevancy Rank. Whenever you search streams of activity, the results will be ordered not chronologically but by how relevant each is to you based on your social graph. That is, people who matter more to you will bubble up.

The author brought up improvement ideas for mainly Twitter, or also for any SNS. Main points are:

1. The result of search query, or the front loaded posts should come initially from the relations to myself. But it limits the result, because not everyone has opinion or information about the search query.

This sounds awesome, but there is a problem. “Wilco” works well as a query because the band has just released a new album, but many other queries would return no results. Simply put, your friends on Facebook and people you follow on Twitter can’t possibly have an opinion on every topic you may be interested in. This is a problem of sparse data: trusted opinions are scarce.

2. Since the trusted result from the level-one relations is limited, expanding the network to include the relations of the relations is necessary. This expansion can also be based on likeness of people even outside of the relations.

Another step could be to include people with similar tastes, so-called taste neighbors. This approach is common among vertical social networks such as Last.fm, Flixster, and Goodreads. These networks have ideas about which people, other than your friends, are like you. However, this is a costly calculation and takes time.

3. Using the number of followers as a measure, a few of the relations can be titled as opinion leaders or the influencers among the crowd. Give higher order to their opinions in the search results or the stream of posts.

In the absence of any other metric, someone who is followed by hundreds of thousands of users is likely more relevant to you than someone you don’t know at all. Using number of followers as a weight might be a good way to order the rest of the activity stream.

Social Relevancy Rank by Alex Iskold

Social Relevancy Rank by Alex Iskold

I think this relevancy rank can improve what Twitter, or stream based publishing systems have been good at. For their currently chronologically ordered search results of stream of posts to be more useful or more easily to be found and processed, the additional sorting mechanism based on this relevancy ranking is crucial. Depends on the level of openness of the service enabled by APIs, the application of this system may come much quicker and may be developed to become superior service than the original.

Tagged with:
Jul 17

Somehow I am satisfied with the current theme. So, what’s next? Better get started with the development I’ve been planning, along with finding a good job that will earn me more time than more money. But it’s true that I want a GOOD job for I don’t want to get embarrassed when I talk about what job I have.

Not only for the development use, but also for job searching, I must start the coding exercises for my PHP and Ajax learning. Or change the old ASP files to PHP version as an exercise, like I’ve posted before. I’ve starred many posts found in RSS feeds and it’s up to me to invest quality time to digest all these good ideas and knowledge.

Without something to show or share, it’s so hard to have a conversation with anyone online or offline. That’s why I must be working or studying so I can talk about it with others. Shouldn’t there be a solution for introverts who just don’t know how to express attractively? I need to examine my method of interacting with others.

Along with this matter, I must stop worrying about the frequency of making statements or blogging. While taking care for quality of my expressions, frequency matter is irrelevant or automatically solved, I guess.

Jul 17

Began to grasp the idea about how WordPress handles the advertisements using its themes. Finding a specific plug-in for this, like Advertising Manager made by Martin Fitzpatrick, I was able to put Google AdSense code easily to my whole blog pages. Also, I accidentally found more about other advertisement programs, which I am so tempted to get my hands on to get more profit. How greedy I am.

Regarding the blog design, currently I need to try other good themes to find the perfect match, but only until I can design my own.

It thrills me to have a comment only after a day re-launched my website. I was glad that the the first one was nothing like a spam, but sincere friendly comment. I joyfully thanked the first commenter. Looking at  the report from the Google Analytics, I am beginning to think that all my past effort in bookmarking in my website didn’t help to get more traffic than simple but active commenting on other websites and Twittering. Recognizing others is the best way to get recognized.

Utilizing every little jot in Twitter, me2Day, Facebook, and my notebook can help me to write a daily entry. Tracking, aggregating and polishing almost every thought I have in a day is very crucial.

Jul 16

Re-posted some of my old entries from other blogging services but I need more efficient way. It was embarrassing method of copying the post and changing the date.

Looking for a way to salvage my Access database which contains all my old bookmarks(posts), I wanted to activate currently obsolete ASP server. Instead of installing an old version of Windows server(something like 2000?), tried  Visual Web Developer for temporary access to the MS Access .mdb file and generate HTML result so I can add it to the old HTML version of my posts. However, this Visual Web Developer 2008 Express Edition doesn’t build a properly working website using obsolete ASP files, or I just can’t find the right solution. I regret that I didn’t make the HTML version  before shutting it down.

Not knowing if there is same situation like me, I just don’t have any clue where to start searching about restoring ASP page with Access database. It’s quite hard to imagine what I must search in ASP.NET, what I need to know more about the basic essentials.

Should I change the ASP files to PHP? Using some kind of automatic parser? Or set up currently obsolete format of server to activate ASP service as I planned initially? Add ASP scripting to Apache? Maybe I should accept this situation as an opportunity to learn PHP coding by rewriting the entire website in PHP. For I’ve tried to learn the grammar, structure of PHP, this challenge can be a good exercise which will accelerate my learning speed. Now I am little glad that my old website was not as complicate one as I wanted it to be back then.

Jul 15

Following excerpts are not as structured as a serious composition should be, merely combining the selected sentences I took from the book and translated back to English.

<< Previous Chapter 2: Framework for Social Web Development

In this post, there are a few sentences came up by myself while translating.

Highlighted excerpts from Chapter 3: Sincere Conversation

The company must communicate with the customers directly.

Web service developers are easily get estranged when they are not good enough:

  • Because they don’t face the customers; or the users face to face.
  • The dissatisfaction is very hard to notice.
  • The support for the service is also the product, or at least a major part of the service.

The long term benefit of active and sincere conversation is far surpassing the temporal pain of negative statement.

The sincere conversation will lead the users to have interest in your service.

How to become the better service:

  1. Listen to the public opinions.
  2. Conversation will allow you to have more information without spending much on research.
  3. Those who give positive feedback are the enthusiastic users, worthy enough to record the conversations with them.
  4. These enthusiastic users are not only good users but also potentially good partner in application development. For this to be possible, open the sources

There must be more than selling. Servitude must become the priority of one’s service.

Aiming for the buzz marketing, the service must  take good care of the users more than necessary.

Ten steps for building trust:

  1. Don’t wait for the conversation to be started.
  2. Spread the story of  your company. People with the same idea will be gathered together.
  3. Clarify what kind of relationship you want to establish with the users.
  4. Prove that you are listening to the users very seriously.
  5. Let the user to learn about the service on their own pace.
  6. Expose the communication channel clearly to the users and respond to the messages as soon as possible.
  7. Give the users multiple options.
  8. Delegate the right and the responsibility for communicating with the users to most people in the project.
  9. Expect the changes and prepare for them. Take good care of the enthusiastic users.
  10. Hire the community manager. It’s preferable to hire the currently active member of the user community.

Experiencing the website itself is the purpose of providing service.

Building community doesn’t necessarily mean adding more functions.

The big name web services are started from satisfying needs of small communities.

If possible, try to develop it by and for oneself. This way one can know the aspect of being a user.

Most people are passionate about what they made by themselves.

Let the users contribute to the service. They are the best supporters.

Release the updated version as frequent as possible. Keep letting your service to be known. And fail as much and quick as possible, so one can know and minimize investing on what’s not working.

More failure means more experiments, finding the right solutions from the wrong solutions.

Fast cycle of development will gather more data which will support the argument against forceful pestering.

Entertain the users by presenting the whole process of development to them.

Respond positively to the negative opinions.

Someone will come to help when you sincerely admit your failure.

It’s impossible to avoid bad evaluation. Use it for your beneficial development.

Next Chapter 4: Bringing people to sign up >>

Jul 14

Added Google Analytics for Wordpress plugin made by joostdevalk after confusing about where to put the tracking script.

Set up mail service. Needed to send the confirmation email, but had to wait to the next day. Seems to be the setup process wasn’t as fast as I thought. Had little trouble logging in through Gmail system.

Need to find a better theme and add my profile with picture.

Check contact information, my petershine@fxceed.com status where and how it’s being exposed to the public.

Jul 14

Just finished setting Wordpress blog in fxceed.com with redirection configured. The website will evolve having more contents about my personal development and services.

Yes, the domain is finally working. I even had to change DNS name server myself due to the technical difficulty of the hosting company.

There were unexpected difficulties I had to suffer. The database system in this new hosting company is not as friendly as I wanted it to be. It required me to name the database following certain rule, which is explained in quite confusing way. It took me more than 30 minutes. Also, my local server’s phpMyAdmin was located at someplace too hard to find. Without knowing the export/import capability in Wordpress, I had to add my posts in fxceed.com with manual date changes. Fortunately, I have only few posts to be added, but I was quite frustrated at myself, without a good reason.

Managing files among different folders is quite confusing and stressful. For I use both Mac and Windows together in my Macbook, folder synchronizing is a little daunting.

Jul 03

Following excerpts are not as structured as a serious composition should be, merely combining the selected sentences I took from the book and translated back to English.

<< Previous Chapter 1: Emergence of Social Web Era

Highlighted excerpts from Chapter 2: Framework for Social Web Development

The biggest disaster in project development is feature creep.

Not knowing what is really important, adding unnecessary feature instead of focusing on the essential one.

And this will cause competition among the features within.

The elements which the service developer cannot control:

  • The competition among the interest groups: taking each element to the different direction will diminish the effort to go to the common goal.
  • Political dispute, opinions or arguments that don’t concur: clash of different characteristic of the team members?
  • Lack of understanding about the users: clearly understood the need of users?
  • Ambiguous strategy: is strategy responsibility of only the strategy department? adopting outside strategy will change the way how the team works?
  • Absence of vision or goal: what’s the definitive measure of success?

Find the value of features and set the priorities:

  • For which task should our team invest time and energy?
  • What features must be added or deleted?
  • Are these feature work with or for the whole strategy?
  • How can avoid political dispute or argument about opinions and focus on the questions about the strategy itself?

AOF method(Activities, Object, Features):

  1. Focus on the most important activities: Always think about how to answer what the users do?
  2. Find the social objects: What social object will motivate the users to be active?
  3. Develop the essential features: What people do with social objects? How can the web service support the activities with the social objects?

The most important question: What does people do with the service?

People take interest on the service which does one thing so good.

Purpose if the final state the users try their best to get. Activity is the collection of methods to achieve that purpose.

If the activity were clear and specific, there wouldn’t be any need for a service to organizing it.

Profit or property are the auxiliary result out of the activity.

Research:

  • Interview: Focus on what they do, ignoring what opinions they have.
  • Usability test: Observe the users to know what activities they do, if they are satisfied or not with the activities.
  • On-site observation: Becoming the users themselves. Contextual research is getting information by actually observing the process.
  • Self-observation: For it’s almost impossible to be objective about oneself, it’s better to do it as a pair.
  • Listening to the reviews, using feedback forum

Don’t be afraid to change the ideas of own.

Identify the social object; the social medium or the social interactivity that connects the users. The object, the topic or the idea that is shared by the users.

What people want to do to achieve these purposes? Answering to this question will identify the essential features that must be developed.

Adding more features will cause conflict. Introduce the new feature to the users, actually operate it, and modify it make it more usable and useful.

Develop the most unique feature as possible, not imitating the others.

Next Chapter 3: Sincere Conversation >>

Jul 03

I’ve been always so grateful for my parents.

Unusually, my Dad and I share so much. Not only we share the almost identical appearance, but also the characters and the principles too. I thank for his active influence on me even after entering my adulthood, which is often the phase that most dads stop dealing with their children.

Together we coined a new term: A Techno-Servant. Since I proposed my value, my reason in pursuing the career in technology to be helping those in need, using latest Free-Open-Easy technology, my dad encouraged me to develop a term, some kind of an acronym which will concisely deliver the value of my goal. It came to me so suddenly and I was so happy to share it with him for the first time.

No matter how long or redundant, having conversation with one’s parents is always precious. I just begun to enjoy it with some productive outcome like the new term we developed today. But I will keep enjoying it simply because they are my parent.

Jul 01

http://www.darrenrowse.com/how-i-meditate-examen

I often find it very meaningful for a professional to share his or her belief and how he or she practice it, especially if the professional is not in the field of ministry. Though it is hard to ignore his ministry background, Darren Rowes; the Problogger, shares his personal method for meditation, or Examen.

The meditation is actually an ancient one – it’s called Examen of Consciousness (sometimes just called Examen) and it was developed by St. Ignatious Loyola (that’s a picture of him below – I think he’s blogging).

Examen a Christian meditation but I’m sure people of other faith backgrounds could use much of it with some modification and that even those who don’t practice any religion could benefit from some of the exercise too. I’ll write it up primarily as I practice it (I’m sure there are many variations) and from the Christian perspective but do feel free to adapt and fit it to your own situation.

The point of Examen is to find the movement of God in our daily lives as we review the day that we’ve just had (or are having). As a result I find that it’s best to do at the end of the day (I quite often use it in bed and fall asleep part way through).

I can’t help but consent more with the everyday Christians who are trying their best to diminish the line between non-spiritual or spiritual. In case of Darren Rowes’ understanding of meditation, he loves it because it’s not overly spiritual, but practical activity which can help him to get “a space to process and deal with the crap that life can throw at us and move forward.”

I’m very aware that this meditation comes from a spiritual (and Christian) perspective (although it’s also very grounded in day to day life) – however that’s the perspective I come from so it’s all I’m really able to authentically share.

As I mentioned above – if you don’t share my faith background I still think that much of it can be helpful. Stage 4 in particular is really useful for reflection. As I mentioned in the ‘note’ above – the practice of just setting aside time to think about how you live, react to situations and to notice the patterns that you slip into can be an enlightening one.

I love this meditation because it’s not overly ’spiritual’ and is quite practical. It does force me to stop, still myself and just ‘be’ for a few minutes each day but I find it also challenges me to work on aspects of myself that are slipping and also gives me a space to process and deal with the crap that life can throw at us and move forward.

I left this comment: “Thank you for sharing insightful post. Even though how everyone is different, uniquely created by God, there is some common sense when it’s about the relationship and communication with God. I was gladly surprised at how you described the purpose of meditation from the “Examen”, reviewing perspective. I do learn a lot from your work and personality. God bless you for your beautiful work in blogging and other meaningful missions.”

Jun 27

Currently I am reading a book called “Designing for the Social Web” by Joshua Porter, Korean translated version. I would like to share the highlighted notes from the book.

Usually, I prefer to get an English copy so I can share my quoted excerpts directly from the text. But in this case, I must translate back to English. Please bear with me for I will try my best to convey the exact meanings.

Following excerpts are not as structured as a serious composition should be, merely combining the selected sentences I took from the book and translated back to English.

Highlighted excerpts from Chapter 1: Emergence of Social Web Era

“The key to success is based on humanity.”

“How to satisfy usability and personal desires and social requirements?”

“the Usage Lifecycle”

  1. Indicate the user’s need and engage in the sincere conversation about it.
  2. The user has curiosity, is prepared to listen
  3. Examine if the site is for the user, worthy enough change the user’s pattern in web utilization.
  4. Listen to the regular users.
  5. Developed an emotional attachment and began to evangelize to the people.

“User reviews are the most wanted contents in Amazon.com”

“‘People will not work without money’ theory is facing the big challenge.”

“Human is social being since his birth. Service he use must be social too.”

“Lewin’s Equation: B=f(P,E) Dichotomy between personal and environmental factors cannot satisfy human psychology.”

“Depends on how the User Interface(Environmental Factor) is designed, all conversations and interactions are determined.”

“Too restricted, the users will neglect it, or too flexible, the user will be confused.”

“Users want get the most accountable, trustworthy information from family or friends.” – Searching for a trustful agent

“Too much information make people to give up to make decision.”

“Advertisements cause stereotypical thinking.”

“People want the sincere, genuine converstion with the accountable people.”

“So much information needs attention from the users.”

The Attention Economy: The value of attention is diminished because there is too much information requiring our attention.”

“The attentions is a valuable property of an individual. By reading the text of person in the similar condition, the individual can make sound decision, which includes saying, ‘No’”

Next Chapter 2: Framework for Social Web Development >>

Jun 27

http://www.lifehack.org/articles/productivity/scrum-for-one.html

This scheme is exactly what I need for developing my project. Step by step toward each small but important goal.

Scrumming Solo

Seems to me that, with a little modification, those are pretty good principles for anyone with some big projects on their plate – especially if you, like me, have a tendency to get side-railed. Of course, most of our projects aren’t collaborative, and they’re rarely as compartmentalized as computer programs, either. The idea of developing a project by evolutionary steps, with each step creating a potentially usable end-product, simply doesn’t apply to the kind of long-term projects most of us have as individuals – things like writing a book, learning a foreign language, or earning a promotion.

But the idea of Scrum is, I think, very applicable to our personal lives. The whole point is, through a process of constant self-awareness, to identify what’s holding us back, how we can work around it, and where the next few days or weeks should take us. Consider, then, “Scrum for One”:

  • Do what you can with what you have. There are bound to be hang-ups in any project worth doing, and it’s all too easy to look at a project and despair because you don’t have whatever you need to finish it. Well, you may not have what you need to finish, but chances are you have what you need to start, to do at least some of the steps needed to get yourself somewhere close to the finish line. And you can take heart from this peculiarity of Scrum: often, when working under less than ideal circumstances without all the necessities to finish a project, Scrum teams find that either a new solution emerges that’s much more within their grasp or, just as often, that the missing element isn’t really needed in the first place. At the worst, you’ll give yourself the time you need to come up with the missing piece – and meanwhile you’ll be moving inexorably closer to your goal.
  • Constant self-reflection. If you’re a fan of Allen, Covey, or Drucker, you’ve probably already accepted the importance of a weekly review. Scrum for One suggests that more frequent reflection might be helpful – nothing at the scale of a full weekly review, but a few moments of honesty each morning to define the work in front of you and any problems that might be standing in the way. Brainstorm a few minutes to see if you can solve the issue, and if not, put it in your to-do list for later action. A lot of time, just asking “What’s standing in my way?”is enough to trigger a solution – more often than not, the problem lies more in ourselves than in our situation.
  • Work towards clearly-defined, short-term goals. Give yourself a time limit and set a reasonable goal – reasonable, but meaningful – to reach by the end of that period. Projects that stretch out in front of you for months or years are discouraging (which is why so few people write books) while projects that are too small often aren’t very satisfying to complete.
  • Sprint. Sprinting the way Scrum teams do it won’t really work for individuals – you probably have a lot of different roles to play on a day-to-day basis, which means focusing on a single project to the exclusion of everything else is going to be difficult, if its even possible. What you can do, though, is block out a number of hours every day and use them to focus strictly on one project – no distractions, no knocking off early, no nothing until you reach your goal.
Jun 27

Out of nowhere, new idea for a web service emerged. I am quite happy about its importance and potential for being a useful service for many, and I want to protect it from my own procrastination and negativism.

The research plan for this project and also for other ones, or for general learning in web development:

  • Find about the translation services. Which is the most popular one and how it functions?
  • How to analyze and refine the article submitted to sentences? How to imitate Digg submission and rating system?
  • What’s the best way to promote the web service and maintain its activity? How to lure master translators?
  • Learn about the general methods, procedure in web service development.
  • What’s the basic and the best usage for database?
  • What’s the good method for finding attractive domain names?

Perhaps, I need these:

  • Whteboard
  • Easily scalable hosting service; something like FatCow
  • Good Teachers
  • More tech books, or O’Reilly’s Safari subscription.
  • Optimization tools for learning, researching, and developing: XMind, Gliffy
Jun 15
http://www.problogger.net/archives/2009/06/15/5-ways-to-systemize-your-blogging/comment-page-1/#comment-4751292

My schedule is not ideal for many people, but remember—I’m not married, not (currently) taking classes, and don’t have a day job. I maintain a midnight-7am schedule for blogging because that’s when I’m able to focus without being distracted—no matter what. I may be able to work undisturbed during the day every once in a while, but by choosing a time to work that is consistent has led to my building a habit around this time. My body now knows at midnight that it’s time to focus, crack down, and produce. Habits are a great “system” to have in place because they can help force efficiency and effectiveness in everything. Get in the habit of writing at least once a day, and start building good habits around your blogging “business” as soon as possible.

I just can’t help but agree, based on my own experience, observation on myself, I need to build the habit around the specific range of hours which enable me to focus and produce.

The ultimate goal of systematization is not necessarily automation—though when executed deliberately and correctly, automation can be a welcome hand in your business’ operation. By systemizing your blog, you are able to begin working “on” your blog, not “in” your blog—to borrow from a popular business expression. Sure, you need to provide great, original content, but understand that there’s more to blogging than what you type (unless, of course, the blog is for your eyes only!)

Since I hope to make this blog open to the viewers and earn enough money to support my autodidactic plans, I must develop professional skills to manage the blog to be a real business.

Jun 14

Acquired copies of books that I consider necessary to start my project.

Actually, I wanted to buy more concise and inexpensive ones, but after realizing that I don’t have any references for these technologies, I decided to have big ones, like AJAX Definitive Guide from O’Reilly.

But the important matter is actually finish reading them and understanding them enough to effectively use the knowledges.

Jun 13

Some ideas came up, which I can see some value and importance of their existence. But I need to learn more, something I only have concepts about them, to actually produce the working applications.

Must start learning, AJAX with PHP and MySql. Must be able to solve critical database problems. Document the development, so I can use it for my future references and portfolio.

And I must look back what I had written in my posts, to reclaim my lost ideas.

Jun 12

I just installed Wordpress locally. I will set up a hosted place and synchronize the contents.

I will keep the track of my personal development in the area of programming and productivity skills. Stay sharp and focused.

This project must start by specifically set the goals and execute the necessary processes.

Both setting the goals and executing is quite difficult for me. I feel so embarrassed to myself. Can’t focus on one thing and feel some satisfaction at the beginning. I guess it’s wrong to expect some satisfaction first.

preload preload preload