2005年11月

前几个月读了一本封面标题为「美力时代」的商业周刊,封面的小标──「当美成为时代的新竞争力,你也该为美感能力建立存折」,让我愣了几十秒:这是多么简单而又令人震撼的一句话,道尽了近年来世界科技及经济的进化。美感这两个字可以应用到人们感观所能触及到的所有事物,因此除了看到的商品,享用的服务也一样开始受着「美力」所影响。从最近苹果计算机的白色旋风 iPod,以及由ICQ启始而影响人们沟通习惯的网络实时传讯、部落格(Blog)到网络相簿(如最近热门的Flickr)等等,大家应该就可以感受到了吧。由「美力」所带来的经济力是如此强大,各行各业的产品也好,服务也好,都越来越讲究精致甚至豪华,产品或服务的功能面已经是基本的要求,似乎美的展现才是大家的决战点。

美的本质是创造力
其实美的追求是人类的天性,当社会进步到某一个程度,我想这是合理的现象,人类也是感观的动物,遇到美丽的事物,人们可以利用五官,甚至是心去感受,而「设计」,是表现出美的方法之一,例如华裔建筑师贝聿铭为法国罗浮宫设计了一个玻璃金字塔入口,那是一个很美的架构,人们即使不懂它的设计原理,也可以用眼睛去欣赏它的外观,用心去感受它古典造型及现代建材的融合。

我常常在想,那软件设计的工作呢?软件的「设计」有人能看的到吗?它的美有价值吗?当我在读《Software Architecture in Practice》一书时,封面的罗浮宫玻璃金字塔照片表达了软件架构的美──就和伟大的建筑一样,而差别只在于建筑是人人看得到摸得到,而软件架构却不是。既然如此,软件的设计需要美学吗?还是只在学理派的乌托邦才看得到呢?美学大师蒋勋的一句话「…美的本质是创造力…」,让我更相信自己心中的软件乌托邦,软件的本质也是创造力,「设计」则是让创造力具化出美的手段。

看到这里,也许有一些经验较丰富的软件人会笑说,在台湾的软件环境里,软件美学是没有价值的。可能是因为台湾的软件市场小,所以台湾的软件公司资本也比较小,让台湾的老板比较重视马上看得到的「钱」途,而大家也总是比较重视「看得到的设计」,对于「看不到的设计」,在没发生任何状况前,大多是自然地忽略,因此就养坏了市场对于软件设计的不尊重,并间接影响到软件开发人员的价值。我姑且不评论这个适合放到讨论网站的题目,以及会变成炮灰的答案,因为事情的看法常常和信仰有关,而现实的对与错是不会影响到信仰的,对不对?所以先来谈谈我所看到的软件美学吧。

软件架构之美好比建筑之美
我不得不拿建筑来比喻软件开发,因为真的太相似了,建筑师设计出建筑蓝图之后,需要有各类专家依照蓝图的设计,真正地将房子盖起来,而软件开发也是同样需要设计及实作的。那什么能够感觉到美呢?一个建筑师发挥创意所盖出来的房子,应该是兼具美丽外观、安全与实用等等,人们可以从建筑的实体,感受出建筑师的创意,进而感受出这一种美的「思维」,因此,除了形状、颜色、声音或者动作可以让人感觉到美,思维也应该能让人感觉美,而设计就是一种高度的思维活动。

从建筑师的「创意」到施工实作的过程中,还需要「沟通」,不然思维是无法实现的。相同的,软件的设计就是将「创意」的思维表现出来,有创意的软件设计必需要能与实作者沟通,而沟通最好的工具,就是共同的语言。

有空多敷Pattern面膜
近年来OOAD盛行后,汇集对象导件精髓的Design Pattern,就是用来发挥创意解决问题并且表达沟通最好的共同语言了,在软件设计人员驱之若骛学习之余,大家除了要了解它的使用时机,其沟通的意义也是很重要的。

美丽,真的该从头开始,身为软件开发人员应该有空就敷一下Pattern面膜,因为这些是许许多多前人所留下的智能,当你从其中感受出设计思维之后,对于这些美丽元素能不发出赞叹都会很难,我也是在了解Pattern的过程中,慢慢地体会到对象导向的精神。

软件架构的风格与结构
一个软件系统就像建筑一样,有其风格及结构,就是所谓的软件架构。调理出好的架构体质对软件系统未来的美丽外观、坚固安全与实用是非常重要的,这和一般迭床架屋的蛮干方式有很大的不同。

使用思维来塑造软件架构的美感,也就是使用Pattern来设计软件架构,并且以架构为中心的开发方式,可以让设计的美丽从软件核心一层一层地透出来。而对象导向的精髓提供了软件架构许多巧妙的设计或者扩充空间,进而影响软件未来的实作与发展。

一个软件项目的开发过程当然包含了许许多多不同领域及责任的专家们,这是一种需要团队合作的艺术,单纯的利用Pattern来沟通创意当然是不够的。专家们有不同的理念及需求,这是一个复杂的现实环境,而艺术与现实的结合才能实现创意,才能让人感动吧!

一个有效的软件开发流程就像是一位导演,指挥着不同的专家,在适当的时机使用相同的语言,来沟通整合大家的创意及需求。因此有了思维还不够,我们需要方法才能导演出美丽,苏醒软件美学。

讲了那么多虚无飘渺的东西,感觉像艺术一样距离遥远,也许这真的需要在乌托邦才做得到,当然,寻找软件乌托邦是充满挑战的,而胆识是必要的条件。


UML-项目开发的蓝图标准
P2P-点对点传输服务
Java-横跨多种平台的程序语言
.Net2.0-微软挑战Java的新利器
Eclipse-项目开发超人气工具
XML-网络信息交换标准什么是UML:简单来说,UML就是用来让开发者了解使用者需求的一种"工具语言"。
我对他的了解不深,当初专题的文件是用DFD(Data Flow Diagram)分析的,
有点后悔那时候懒的学了。
总之,我会去学啦,怎么可以落伍呢^_^!!

P2P他放这在里我就觉得有点莫名其妙了,他既不是语言,也不是软件,
充其量只能算是一种"行为概念"、"传输模式"之类的。
不过P2P的软件是真的满红的没错啦Netsper、ezPeer、Kuro还有啥eMule、BT,
到红的满天的Skype。
不过开发P2P的软件,哪一套算有在赚钱呢?

Java我记得是大二的时候开始接触,后来接触了JSP(Java Server Page),
也选择以JSP为当时专题的撰写语言。
可惜久未接触,有点生疏了,这可能是我以后未来的饭碗之一吧,
待我好好恢复一下记忆力。

.Net2.0,这又是我没什么概念的一项了,从.Net推出之后,
可能是受Java的荼毒太深吧,对于.Net的新闻消息很少在注意,
不过听说.Net其实还是很不错的啦!!
退伍之后,有认识的朋友要我去他们那里作ASP.Net,
可是我不会阿,还在考虑要不要花心思去学呢!!

Eclipse:一个软件开发工具,颇受好评。
不过放在这里也很奇怪,
应该放在"6大程序开发工具" 才对吧?!

XML:XML 是 eXtensible Markup Language 的简称,中文翻译是 "可延伸标记性语言"。XML 以一种简单、标准、并可扩展的方式,将各种信息如:文字、数字、图片、影像、...等,以原始数据的方式储存。并在储存过程中加入一些可供辨识的标签 (tags)。藉此网站服务器或客户端可以把信息内涵做进一步处理。XML 技术则是指一系列基于 XML 语法所制定的标准的集合,在此我们把它称为 "XML 家族"。
上面这一段XML介绍是网络上找来的,简单的来说,XML你可以当作是一种,"资料交换的一种标准、格式"。必学!!


最近在看 UML, 所以需要 UML 工具来试试.
找了不少 free 的 UML tool...

Jude community http://www.esm.jp/jude-web/index.html
ArgoUML http://argouml.tigris.org/
Jumli http://www.jumli.de/
Poseidon http://www.gentleware.com/index.php维基百科还有这里上,也介绍了不少UML工具.

大部分都支持 java 比较多, Jumli 有支持 c#.
前三套都试用过了,Jude Community感觉上较好,但 Jumli 有支援 c#.
晚上再试试看海神(Poseidon),档案很大,也许会有惊人的功能...


find_blogger_by_subway.jpg纽约错综复杂的地铁不只是交通工具,它也标示着居民聚落的区域,对纽约客而言住在哪个地铁站附近,意味着所属族群文化或社经位阶的不同。相对的部落格平台打破了这种隔阂,在网际空间中似乎人人都能相互交流,然而实际上真是如此吗? 交友和社群网站都进化成为社会网络服务就可得知,人们喜欢的社交活动:连连看(俗名:牵拖)才是王道!从nycbloggers.com开始沿着地铁线串连曼哈顿的bloggers,网友可以点选住家附近的站名,说不定能发现邻居的 blog,甚至从 blog才知道邻居的名字,反正住在都市的大厦或公寓,即使多年来都照过面,也不见得知道彼此的名字啊...虚拟部落实体化让网友得知bloggers身在何处,哪个提供blog平台的网站会率先尝试台北捷运MRT bloggers呢? 该不会要等到新庄线通车吧= =


linksysonesysarch.jpg
"We're talking about employees of 100 employees or less. There are about 35 million of those businesses around the world sand they spend about $12 billion/year on routing, switching, storage, telecom gear, and wireless. So it's a very big market. Our market share between Linksys and Cisco is small - less than 10% - though it is a significant new opportunity for us to go after.""The biggest problem we are solving is when you think about being a small business owner you're stuck having to buy from a Chinese menu, technologies that you need for your business and you're often stuck trying to make them work yourself or you have to pay someone to configure the firewall, the switch, the PBX, key system, and so it's really really tough on the small business owner. On top of that he has to deal with multiple providers of service whether it's voice, or Internet access, or conferencing, and so forth, and so he has to deal with these different places where he acquired service from. Lastly, one of the biggest challenges is if something breaks, or there is a flood and he has to relocate his business, his business could be severely compromised since it could take months to get back up and running. Today, small businesses do not have a good disaster recovery solution in place today. Linksys One addresses these issues."