一个APP的前世今生(6)一天一席谈(下)激动要不得

有钱也未必能继续下去,这个说法还真有点意思。 一般来讲,谁在最后环节,谁收到了最终客户的钱,谁就有话语权,因为你成为了最后给别人分钱的人,别人都仰你鼻息,你说什么就是什么.

假定我们用目的地信息组织好了一个主题,并且在我们APP上发布了,也有人愿意交钱来参与这个事情,那我们再来攒资源,比如机票,酒店,目的地,这样不可以吗?

这样看起来可行,而实际上你的触角很难深入到目的地国家去控制他们怎么做,你最终还是要靠当地的旅游业者来帮你完成目的地的六要素。就现在D国游的现状,假如说你在中国从游客收了8000人民币,去了机票还剩6000,你找了一个D国的地接社来5000块来承接这个事情,后面会发生什么是可以预期的,他们会拿了你的5000块,然后找导游把你的客人600块一个人头卖掉,这将又变成骂游客打导游的事情了。你能在这里做的事情很少,因为你根本就没有办法控制。

面对这样的旅游市场,我们要做的事情是同流不合污,使用APP用户来吸引用户,形成一定的用户基础,让用户愿意加入到D国游的市场中来,然后提供优质的旅游资源,服务于我们的客户。这看起来是一个很正常的商业模型,但是怎么说来说去却跑不通呢?我很疑惑。为什么这个事情谈了一天也没有谈出结果,就是因为我很疑惑,很晕,怎么这么大的市场,做成这个样子呢?为什么我想好好的做生意而不可得?

那么在D国,有专做西方人生意和做日韩生意的,做中国人生意的和的互不干扰。那么我们是否可以用那些做西方人生意的人来避开大佬们?结论是──不可行。你要能避开大佬那就意味着大佬的控盘生意出了问题,那大佬的反应尤其是在人家的地头是匪夷所思的。有可能你的生命受到威胁。因为对于他来说这是一年十数亿的生意,够杀100个人的了。只要你开始做这个事情,稍微上了点规模,大佬很快就知道,然后马仔就拎着现金来了,搞不定你,搞你的合作者,搞你的属下,总有你照顾不到的,不见钱眼开的,还有有理想抱负的,面对大数目的现金能保持淡定的,我自己都做不到。当然,如果这些还搞不定,希望你不要去D国,否则你会消失在热带的某地。其实我不信这个涉黑的说法,但是想到人家的商场都有目的国的政界世家大人物的代理人参股也就明白这不是好相与的。

做生意不要赶尽杀绝,否则就是无源之水。要要每一个参与的人都有饭吃,这样才能长久。但是这个局面应该怎么打开?在旅游的整个链条上我们能吃哪一块要仔细参详。我们现在有的基础是用户,和使这些用户成团的可能,那么如果成团之后的操作有很多的不确定性是否我们应该再好好琢磨一下怎么能成事儿?

结果这一天谈下来得到的结论不对了,我和B有了严重的分歧,在下一步的操作上,他认为我们应该在APP的路上走,买APP,走融资,然后做大的路;我认为我们应该走运营,最终我们是通过app为媒体来做旅行社。

每个人都是看着对方的地盘好,这山望着那山高,他看着移动互联网的火热眼红,想着进来忽悠点投资,我看着旅游大市场垂涎,打算进来捞捞。

现在回头看这样的瞎激动要不得。

To Be Continuuuuue…

一个APP的前世今生(6)一天一席谈(上)有钱生意也未必进行得下去!

在发布以后的一天,我和B再次约好了见面,在他家附近,我和他通报了上线的情况,大概的数目,免费的版本的下载数目,收费版本的购买数目等等,然后还有下一步的操作,Android版本的研发情况,进度,什么时候上线等。开始的这些情况通报其实没什么好说的,就是一个APP上线的通常情况了。我们后来吃了饭聊的主要内容其实已经是关于这个产品未来的操作是什么。我们的分歧出现了。

他问我:Phil,你觉得这个产品的远期是什么?

我说:这个产品本质上是在做旅游,以后我们可能做的就是旅行社的事情。因为我们可以接触最终出钱的人,就是游客,散客。我们来收钱,给游客提供相应价值的服务,比如我们定价高一点的深度体验游,来完全满足我们用户也就是游客的需要,来定制旅游线路,让大家玩得好,玩得高兴⋯⋯

他不置可否的说了说这里面的道道。到底旅行社是怎么赚钱的。在本质上,旅行社做的是稀缺经济。也就是说在旅游行业里面,有限的资源是最值钱的。也就是前面说的有限资源部分的经营决定了你能赚多少钱。最典型的就是机票和酒店,涵盖了六要素中的2个主要部分。我们用在D国的旺季——圣诞新年期间来做例子的话,这个期间基本上没有预定你是不可能有地方住的,所有地方都爆满,几乎都是来自欧洲北美日韩这样的有圣诞假期的游客。这时候的商业模型就是稀缺经济,你手上的资源是有限的,比如飞机的座位,酒店的房间,你是怎么应对这种情况的,决定了你的收益。

对于我们熟悉的酒店来说,如果一个酒店总是满房,那说明这个酒店的房间单价低了,应该涨价。如果这个酒店总是半满,那说明这个酒店还是应该适当考虑降点价钱了。也就是说无论是酒店也好,航空公司也好,都是在玩这种平衡来保持利润最大化。
如果我们在做旅行社的话,你想怎么做能让这些人放资源给你呢?或者说给你的客人呢?那么其他的旅行社是怎么做的,他们都是赌,先出钱和航空公司预定2000个座位,保证自己有饭吃,然后再慢慢的卖,再放订金和酒店订5000个间夜,再慢慢卖。这个听起来还行吧?至少看起来自己霸占了资源了,虽然有很大的资金成本在里面。

但是,别忘了永远有但是⋯⋯,航空公司和酒店是不是就束手待毖等着你来杀价了呢?

其实,航空公司从来鸡蛋不放在一个篮子里面,人家玩超售,预定数比实际资源要多,避免自己的损失,然后还任意毁约,玩死你小旅行社。酒店就更狠了,玩搭售,你要订圣诞新年的间夜,同时必须订5-6月的淡季的房,这时候基本上没什么人来的,那你怎么玩?生意还是要继续的。而且因为你是个新鲜事物,人家也未必愿意和你玩你的游戏,你只是他生意中的一个客户,资源却是十分抢手的,根本不愁卖,也就是说:在这个生意模型里面,不是你有了钱就能把生意进行下去的。

那我们怎么做?

To Be Continued…

It is just like walking on a steel wire over the deep…

…to play with Apple’s famous Xcode and LLVM compiler sets, especially for ARM instead of x64 series.

So, somebody may ask: What beats you on the face _again_?

This time Apple decided to use clang 4.0 from LLVM 3.1svn in its latest Xcode 4.4, which was just pushed out with Mountain Lion some days ago. That’s OK. Generally most of things still work, most of codes still got compiled. But, suddenly I found an assembling error on my one .S file: invalid instruction ‘ldmltfd’. It is not the exact error message but you know the meaning is it.

The .S file can be compiled/assembled without any problem by previous Xcode version, if my memory is still correct, at least by any version of Xcode 4.x and its toolchains, from apple-gcc-4.2 to clang. And, ‘ldmltfd’ is a valid ARM instruction. So it should be another LLVM/clang’s issue. Indeed I must not feel surprising since I already encountered many before.

But I must have a work around otherwise I must return back to Xcode 4.3.x, which doesn’t have official ML support in it. Though I think it is not a big problem, the uninstall and install still take much time. OK. Let’s see.

After adding ‘-v’ to compiling option the output shows clang called itself with ‘-cc1as’ after executed preprocessing. ‘clang -cc1as –help’ shows this call invokes clang’s integrated assembler to assemble the source instead of invoking external ‘as’ program. Fortunately ‘clang’ in my Lion system is still an old version (3.1 from LLVM3.1svn) so I can check it over the source with ‘-v’ option and found it invokes external assembler.

The issue is clear now. Apple guys or LLVM guys or guys having both roles thought clang’s integrated assembler is stable and complete enough. They released this version of clang with integrated assembler set as default behavior in Xcode 4.4. I am just this unlucky man stepping on the mines.

Solution is always simple as long as clang permitted us disable its integrated assembler. Adding ‘-no-integrated-as‘ to each .S file solved the issue, but it still took me about 1 hour to look for the cause and about half an hour to write this blog.

 

Updated gas-preprocessor to handle clang’s issue related to -g option

clang included in Xcode 4.3.x (LLVM 3.1) has an odd issue when it is used with gas-preprocessor.

As you may know, gas-preprocessor adds “-S” to compiler’s command line to generate assembler source, does some preprocessing on it, then invokes compiler again. The compiler then invokes assembler to create final objective code. Here, compiler is clang and assembler is apple as.

If  a “-g” is specified in clang’s command line, clang will generate dwarf-2 debug information directives into assembler source. When clang gets invoked again, it will also take “-g” into apple as’s command line options. Unfortunately, as declines those debug information directives, including .file and .loc, if it is iovoked with “-g”.

So, I have to add a hack into gas-preprocessor. If -g is in command line, eliminate it in 2nd compiler invocation.

See latest commit in https://github.com/hollylee/gas-preprocessor