Tuesday, December 16, 2008

Useless Estimation

So the whole team spent 2 weeks and had 7 estimation sessions (2-3 hours each) and the conclusion is that it's going to take the team almost 2 years to build the feature...

What if it was estimated in days instead of weeks?
How long did it take to build the first version? and how many developers were involved?

Tuesday, June 24, 2008

Web development and desktop development

Integration between websites (aka. web applications) is surprising easy, to the least extent, one website can trivially link to another website, just a matter of entering text, (arguably) no code, no compilation, everything needed is the URL. One website can be embedded into another easily with a little bit of work using iframe, again, (arguably) no code, no compilation.

Look at the way we do desktop development, things are pretty complicated. We need to figure out the platform differences, we need to study the specific and probably pretty complicated programming interfaces (such as COM+), we need to choose a language, we need to code , need to compile our code, etc.

Web was born with interoperability, web was born with support for links. The power of open standard also make HTML the only language web applications speak.

It will be interesting to see how the desktop development (or mobile development, or whatever locally running model) and web development will merge together in the near future.

Monday, June 23, 2008

Google movies vs Movie finder

just got some time to actually thinking about the movie finder app we came up with (and half implemented) so far. Is it actually a better UI? Arguably it is even worse, with more redundant information, and just with a little bit more eye candies (posters).

For example, when we sort the table by theater name, if a theater has a lots of movies on show, the list of movies can easily use up the screen space, more importantly, the information about the same theater will repeat many times. The repeated theater information is becoming more of noises than useful information. Same thing applies when sorted by movies. Movie names, posters and other item increasingly become noise as there are more and more theaters showing the movie.

Whereas in Google movies, this kind of redundancy has been removed, while still allowing a user to sort the list. And also because of the nature of web app, integration with other apps (such as google maps) is deadly simple.

Wednesday, June 18, 2008

取名

似乎对女孩没有对男孩那么多的期望,惟愿她平安幸福、淡定从容、快乐自信。

Tuesday, June 17, 2008

Topic: mobile future

iPhone simulator on Android. It will pretty much look like wine on Linux.
Android simulator on iPhone, not very likely, or at least not very likely be sanctioned by Apple.

Mobile phones are just a way to get connected on the go, not a replacement for desktop/laptop computers.

There will be a sub-industry for customizing current websites to adapt mobile browsers. Although the current state-of-the-art mobile devices (aka iPhone) are able to browse normal websites, there are important differences. The screen size is now, and will be in the long term, a limitation (or difference) in the mobile devices.


Everybody in the mobile industry is talking about LBS. But it will take longer than expected for the general public to accept it.

Monday, June 16, 2008

no topic prepared

went to the gym without a prepared topic in mind...
so put "Prepare topic for next day" in the todo list of every night.

Friday, June 13, 2008

What's beyond

We should try to think what's beyond what we are working on right now. We should push our imagination to what is ahead in the next five years.

Thursday, June 12, 2008

Topic: iPhone vs Android

iPhone is for most end users and Android is for geeks.
Apple understands end users more whereas Google understands geeks more. I still remember the moment when my iPod touch wowed my mother-in-law when she learned to browse photos.

In the Android world, definitely there will be lots more innovations than the iPhone world. Android's openness is completely opposite to iPhone's control-freak model. No doubt openness encourage innovations, a lot more innovations. But openness creates chaos too. I won't be surprised that there will be very innovative and useful applications in the Android world that make iPhone users sweat. But the problem is there are too many choices, which will create headache for most of the users (of course this might not be problems at all for geeks like me :)). Most of people have other more important things in their lives than playing with their favorite gadgets. They just want get the job done, as fast as possible.

iPhone would become Windows in the mobile world, whereas Android will become more of a Linux. Competition will exist forever, but most of the people would choose iPhone because its so intuitive to use. Of course developers and more technical savvy users would hate it, because there are too many limitations. Developers like to play God to create things without limitation.


The iPhone's world is more like the God's world. The God (Apple) decides what should exist and what should not.

Android is more like the real world ruled by Darwin's evolution theory. Species that adapt well in the environment thrive whereas those species that don't vanish.

Wednesday, June 11, 2008

Switching between mobile device and deskop computers

One can very easily transfer pictures/videos between his iPhone and desktop computer. Visually, on his iPhone he just drags the thumbnail of his picture/video on to an icon that resembles his desktop, on his desktop screen, he can visually see the picture is dragged around and dropped.
And vice versa.

Also shortly we will see remote controllers running on iPhone that control our digital home theater systems.

Topic: advantageous small screen

One always refers the small screen on a cellphone as a limitation. Because the screen is too small, we simply can't show enough information on a phone as on a desktop computer. Various technologies have been invented to overcome this, be it spanning a large content in the screen as a small window, flinging between different virtual screens, thumbnail and zooming in/out, magnifier etc etc.

Small screens are actually advantageous in some sense, at least for end users. It forces developers to think what are the most information/features to help a user accomplish his current task. The screen is so damned small and we have to discard those 'nice-to-have' features/information.
We've seen so many bloated software for which among dozens of buttons/menus only a couple of them are actually used. We've seen so many websites filled by annoying advertisement in each 'unimportant corner'. Things will change, as mobile internet thrives, we will see more and more user friendly applications that only help you finish your task at hand.

Force developers discard useless features, and compress information being presented.

Users are also more focused when using small screens. When taking out and looking at their phones, they normally looking for answers for a single question, what time it is, who is calling, seeing a photo etc. It would be great if the phone can mind-read users to figure out what they want and show the UI (answers) accordingly without requiring them to press a button. :)

Tuesday, June 10, 2008

Topic: restaurant search

Restaurant search: searching the nearest French restaurant made easy. Before deciding which restaurant to have dinner, search on the phone for reviews, pictures, today's special price range, length of line (could be even dynamically updated) etc.
Before deciding which dish to order, view pictures of the dishes and see reviews.

The app should users' review centric. Probably still sell keywords to businesses, but let user review it. let the user's review the first criteria to decide where a post should go.

Monday, June 09, 2008

Topic: Movie search, friend recommendation

Ask a user if he wants to review the movie after he sees it. Probably just in a configuration page.

Desktop/web interface and mobile interface should be seamlessly integrated. One can easily switch between these two interfaces -- at most one button click and ideally no clicks at all.

A review should be a couple of simple multiple choice questions such as "Do you recommend the movie to your friends?". Of course still leave space for those who want to write lengthy reviews. A user can continue writing reviews using his desktop.

Post a movie/theatre review on blog by one button click

When a user browsing a movie, he should be able to see how his friends like this movie. The reviews coming from friends should be much more visible than strangers'.

Friends' recommendations/reviews are important -- this is actually why Facebook is evaluated so high. They know who your friends are.

Wednesday, June 04, 2008

Topic: Wikipedia and Localpedia

Wikipedia has a common and pretty straightforward object for the community to work on, articles. It is well understood, everybody can participate and read.

Locality: localpedia entries are normally pretty local, this means the knowledge needed to edit such items is often limited to a local community. Reviews of a restaurant has to be written and edited by people who have actually eaten there at least once. Whereas in Wikipedia, everybody on the globe has the knowledge to modify an article about Da Vin Ci, if he knows what he is doing.

Dynamic: localpedia entries are typically dynamic, whereas Wikipedia articles are relatively static once they are created. The special meals of a restaurant change from time to time. The merchandise catalog in a grocery store changes from time to time.

So the object that the Localpedia community is working on are basically applications, applications that are simple to create collaboratively while more powerful and user friendly than plan HTML pages. We need a framework allowing programmers to code the app, editors to write the content, and designers to draw the beautiful UI.

Tuesday, June 03, 2008

Topic: user created content for movies/theaters

users' decisions are influenced if not mandated by recommendations, especially recommendations from people they know.

See which movies my friends (and ideally those friends I know who share the same interest with me) have seen, and how do they like those. could be simple like or dislike, and could be comments.
The most important aspect is that the comments are from those who I know.

movies -- could be achieved from anywhere, location is not important, people are the most important
theater reviews -- has to be local, location is important, people may be a little less important

facebook extraction: at least we can extract friend list from facebook.

Monday, June 02, 2008

Topic: Earthcomber pros and cons

1. The list is too long, and biased by how many keywords proprietors buys, may not be useful at all. Its business model is just the same as pre-google search engines. It would be interesting to see which entries are visited the most frequently. I would guess as time going and as it gets enough popularity, those less biased entries such as ATM and Movies would be clicked by the majority of the people. Others those whom Earthcomber's revenue drivers would be randomly clicked, since the positions those entries appear are just what they want, not what the users want.

The order of the listing has to be fair and genuinely reflect the value of the entries. The rule of thumb: the list has to be useful.

2. The content is too uniform. For all entries they have the same UI and about the content. This means they can cover a whole lot of categories, but none of them are precise and useful enough.

Thursday, May 29, 2008

Topic: compass

One thing important is that you can't expect putting your phone in your pocket whatever way you want, it's gonna tell you which direction you are facing. You have to hold it in a specific way, for example, by looking at its screen. The compass will tell you which direction the phone faces, so your face has to be consistent with the phone's face.

Are there any other "specific ways" that are different from just looking at its screen?

Topic: technical details of LBS

LBS includes
- know where you are: get the 2D horizontal coordinate from GPS or other positioning devices
- altitude information? turning the 2D coordinate into 3D
- know your direction: how to use the compass? how accurate it is? probably what Android provides so far is just a software abstraction layer, but can we get some more info by experimenting with it?
- Manipulation of the map view
- centering, zooming, panning, animating
- overlay drawing (static and dynamic overlays)
- the screen size is a solid limitation so far, how to best overcome this? The more important question is when we should try overcome it. Since mobile phone just happen to be a computing device that we bring with ourself, whenever it's convenient we can switch to desktop.

How to test
- Testing for LBS and social applications would be hard
- how to simulate your own position/orientation/speed
- how to simulate others' position/orientation/speed
A complete testing environment is desirable.

Wednesday, May 28, 2008

Topic: beyond MobilityCal

what's beyond our MobilityCal?

How could we merge Todo list with MobilityCal?

One rule of thumb is to have the todo list/calendar available anytime anywhere. This doesn't mean that we will have to use our phone all the time. This means that the data should be universally available, and we should be able to access the data from whatever the most convenient device, could be a mobile phone, could be a desktop in the office, could be could be virtual environments that we are immersed in.

We should be able to enter data very quickly (what is quick? the data entry interface should be at most 1 keystroke/mouse click away). We should be able to enter data in multiple formats: text, voice, picture, video etc. We should be able to view todo/calendar entries very quickly. We should be able to mark items done very quickly.


(again, blank mind, and didn't have a topic prepared....)

Monday, May 26, 2008

Topic: windshield, the most natural AR display

Windshields of cards would become (at least) the first generation of displays when AR gets popular.

totally new experience of navigation UI. Directions can be directly "printed" on the ground. Street names would be directly "printed" on the street. No need to wait for the next intersection to see the street sign. Poor vision at night or bad weather, no problem!

Traffic signs and temporary notices can be very easily deployed and changed. The visibility of those signs are superb.

Improve safety. In combination of other technologies such as in-car radar, blocked objects can be displayed on your windshield. if you are driving behind a big trailer which almost block anything ahead of you, you can "see through" the trailer and be aware of any hazards ahead of you.

In order to project 3-D objects on the windshield, only one projector may not be enough -- you need to project (slightly) different views of the same object for two eyes so that you can cheat your eyes and brain to think that direction arrow is actually printed on the ground, not on your windshield. Probably views at a distant distance are easier because they might only need the same image.

Friday, May 23, 2008

Topic: usage of mobile projector

MicroVision's mobile projector is impressive, not sure how much power it requires though

turn every surface into a computer. in combination of Wii remote like tracker, any (flat) surface can be turned into an interactive display. This solves the switchability between private and shared display on mobile devices.

Augmented reality car navigation system. Equipped with good 3D camera, one or more portable projector, GPS and electronic compass, we can mark street names and driving directions directly on the street!

The near future of augmented reality is going to be in-car experience. Because windshields are natural screens. The large display area and natural feel when we look at it makes it far better and acceptable display than HWD and eye glasses assessories.

Wednesday, May 21, 2008

Topic: Virtual objects and other location based information

How are virtual objects (that live in our real world) different from other location based information?
===
From the implementation point of view, virtual objects are kind of location based information. From the user's point of view, location based information is a kind of virtual objects. Because you need a media to present whatever kind of information. Or we can say these two concepts are two different aspects of a same thing. "objects" represents its physical presence, whereas "information" represents its abstract presence. We can physically manipulate and interact with virtual objects, whereas we spiritually recognize/receive information.


(don't know what to write anymore... blank mind...)

Tuesday, May 20, 2008

Topic: The near future of Virtual Reality Hybrid

How could virtual objects be useful given the current technology? i.e. at most, virtual objects can only be display on your mobile phone, not merged with your own vision etc.
==

game
coupon pickup/advertisement
e-Pets

Virtual objects are different because of the way they are deployed. Location is the first class parameter when a virtual object is deployed/published. This is different from other online information. Users perceive location as the first class parameter too.

Given the current technical limitation, i.e. virtual objects can only be visible/sensible through a specific display, it's hard to imagine some more advanced applications. If there is no such limitation, what advanced applications would be?

When thinking about virtual objects, I can't help thinking of other location based information applications, such as location based weather/disaster forcasting, location based blogging, location based tip sharing. Virtual objects are actually location based information. Is it meaningful to have virtual objects a fine-grained sub-category of location based information?

How are virtual objects (that live in our real world) different from other location based information?

Friday, May 16, 2008

Topic: Centralized phone book

phone book should be based on subscription. When you change your phone number, there is no need to call everybody telling them your new number. You new number will be automatically updated.

Goal is to brainstorm the architecture, how other people who don't have a smart phone would benefit from it, and how this is gonna be profitable

=====

Senarios:
Exchanging phone number:
Tom and Jerry both have a smart phone. They meet each other at a party and would like to keep in touch. They both turn on their smart phone book and their phones display Tom's avartar (photo, phone number, id etc) on Jerry's phone and Jerry's on Tom's phone. They choose "accept" and the contact info is saved in the online centeral directory. The number would be automatically synchrnozied into their phones should there is a change with their contact info in the future.

Tom has a smart phone, Jerry has a regular phone. Jerry dials Tom's phone number. Jerry's phone number appears on Tom's phone. Using the phone number, Tom's phone finds Jerry's entry in the online directory. Tom save Jerry's entry as his personal contact. They can still keep in touch should there is a change with their contact info in the future. (Zero button press needed!)


is phone number gonna disappear in the future?
would it? Since people can connect via all kinds of online services, and phone numbers will be automatically synchronized. Will people tend to forget the metaphor of phone number? but ... there still needs to have something that could identify a person. A mobile device?

A short term goal:
Facebook & Android phone book synchronizer

Wednesday, May 14, 2008

No limitation, no innovation

limitation and innovation are really controversial. Arguably all innovations are invented to overcome some limitations.

Topic: Usage of virtual objects

虚拟物品有什么用?

In general, before breakthrough in physics, i.e. before object teleporting is invented, all that can be virtualized is information. But see what the information revolution has brought us so far, information is so important.

What I am talking about here is not a totally virtual world, it's the hybrid of virtual and real world. This will fundamentally change our lives. We are living in a real world, but the real world has many hard-to-break physical laws, that is the point of virtualization which helps us to have power way beyond these physical laws.

A practical use of virtual&reality hybrid is again, navigation. Imagine when you are driving, you can see the names of streets projected on your wind shied as if they are actually printed on the street. When you should turn, you can see a pointer right at the intersection showing the correct direction.

it can be used to show all kinds of 标志、路牌、广告牌. All can be so easily deployed and removed using a computer.

Another, of course, the games. It would be so easy to turn your street block as a battle field.

Everybody has a digital device that is able to receive and present virtual objects, i.e. know where you are and which direction you face, download virtual objects, display virtual objects by projecting them into your vision, receive your input by means of voice, hand gesture. One can easily filter, search, and of course turn on/off virtual objects,

Tuesday, May 13, 2008

beyond Marvin -- the real world virtual world projection browser

From the first glance, actually from its name and brief intro, Marvin sounds like a really cool idea. However, as I finished their videos, I can't help thinking that it's just a Google Earth mobile version. With a much shrunk screen and keyboard, obviously you can't expect any better experience than Google Earth on a desktop.

What we want to take advantage for the mobile devices is location, the LIVE location.

若干年后,虚拟世界和真实世界已经结合成一体。通过软件可以轻松的在地球上任何一个地方放置虚拟物品,人们使用手机之类的随身携带的电子产品或者带上特殊的眼镜即可看到周围的虚拟物体,并与之交互,虚拟物品的图像也可以投影到车窗上。

Topic for May 15 -- What a mobile device can do and a desktop cannot do, and vice versa?

Mobile over desktop/laptop

mobility: the first thing is mobile devices are mobile. You can bring it anywhere, use it anywhere at any occurences. As an additional benefit mobile devices happen to be able report their position and orientation. You will be able to know where you are and which direction you are facing even when your biological brain cannot tell. The term of mobility not only refers to that you can use your devices on bus or on the beach, it also means that you can browse internet while lying down on bed, while running on treadmill. You don't have to sit straight and face a screen.

private: because the mobile devices have to be made small enough to be portable, there is physical limitation of its size. This limitation sometimes becomes an advantage -- the screen is so small that the guy beside you cannot see anything while you are watching a video on your mobile phone. It makes the mobile device a very personal device that you can keep fair amount of privacy.

identity: because the device is small, portable and private, people tend to put it into their pockets, and bring it wherever they are. Mobile devices become electroical identity of humans. You use it as a ID, you use it to make payment, you use it as a bus pass etc.

Convergence of multiple electronical devices: we will see more and more digital devices attaching to our body anywhere at any time.


Desktop/laptop over mobile: the conclusion is immobile devices as desktop/laptop will lose its publicity, as long as mobile devices are powerful enough to satisfy our every growing everyday needs, and the UI of mobile devices is able to easily switch between private and public mode.

ease of entering information
more computing power
more storage
semi-public

Topic for May 14 -- User interface of mobile devices

The uniqueness of mobile devices... beyond multi-touch screen, accerlermeters, voice, and haptic

First of all, mobile device is by far a very personal device, one can enjoy his own stuff on his own. He might not want to share it, and it will actually be very hard for him to share with even anybody standing around him. The future interface of mobile devices would be very easy to switch between private mode, and public mode. When it is private, strictly nobody but the user can see/hear/feel/control the content. When it is public, others that the user chooses would be able to see/hear/feel/control the content, whether a laser projection, a beam of sound/video, virtual reality artifacts etc...

The hybrid of virtual and reality. We will soon see the convergence of the virtual world and real world. Virtual objects would spread everywhere in our real everyday life. We will be able physically interact with those virtual objects as if we open a door, kick a football and pick up a phone. the virtual objects would give us physical feedback so that we can see/hear/feel. Of course, they are not limited by physical laws. We can bring a virtual object by swing one of our fingers. We can open a virtual door by just thinking of it.

Mind interaction -- the ultimate human-machine interaction.

Brainstorming morning

30~ minutes to think about a topic
- restrict to only one topic, brainstorming it and dig into details as much as possible
- plan for the next day's topic, at least one.
10 minutes to write it out. It has to be strictly 10 minutes, no more, no less.
- make it the first thing I do right after I return to my desk. NO Email checking, NO news browsing, NO messaging, NO phone calls.
- use the full length of 10 minutes to write as much as possible
- create a topic for the topic of next day.
- when time permits, improve grammar. Make it an article.

Tuesday, May 06, 2008

If nothing changes, nothing changes

I enjoy listening to great presentations,

good presenter, passionate and energetic, good sense of humor, but started as boring no meaning words: value, etc, but got into some interesting and impressive points

life long learner

the closing note is pretty exciting and inspiring: "if nothing changes, nothing changes"

compared to Jobs' presentation.
evaluating a presentation in mind, see how many points you can remember after the presentation

Suddenly remember my previous goal about presentation: to make people laugh -- now I have made it!

Sunday, May 04, 2008

when negative attitude dominates

When negative attitude dominates, you will feel you don't belong to anywhere. You will become frustrated about what you really want. You will make superficial and subjective conclusions.



When negative attitude dominates, do not complain.

Real world search engine

Type in several keywords, it'll show a list of matched destinations. Clicking one of the matches, the system will teleport you to the destination.




-- A hybrid of a 90's technology and a 2050 fantacy. :)

Tuesday, January 01, 2008

Reminderer

There are too many small tips that we keep forgetting everyday.

A tool to send myself a reminder in the future when similar circumstances happen.
According to:
- time
- location

Reminders can be shared among different users.

A user can search reminders near his location using his cellphone.