InfoWorld's new website design is a good example of how not to do a news portal. Its too business, too clean, too even. InfoWorld is forgetting that readers visiting a news site wants news first of all, followed by expert opinions and then product reviews. In InfoWorld's new design, its the portal section titles and tabs that screams for attention over all important news headlines. Even worse, news headlines are displayed in similar muted style as the non-news items like directory information. While I am not advocating supermarket tabloid style for news, sterilizing of news headlines is a stupid thing to do. This lesson impacts RSS read UI as well as there is a world of difference between reading a blog post in original context and in midst of thousand other news.
So head-and-should pattern was confirmed and Dow bounced off 50% decline support, but the intraday pattern of the bounce looks shaky at best. Looking forward to confirming continuation of the decline.
Les Orchard, working on PersonalWebProxy, is disturbed about having to build everything including the kitchen sink into multi-platform applications, despite equivalent platform-specific tools. Its a legit concern. Platform-independence usually impacts integration and interoperability negatively. This is why I have ruled out platform-independence as a requirement for Docuverse Daily. Isolation of platform-dependenct code, however, is a requirement.
Opera is being strangled by KHTML driven Safari on OS X. OmniWeb too. Other open source projects are not safe either as seen by rejection of Mozilla by Apple. Monopolies can and do exist in the open source world.
Medusa, python web server framework, consumes only about 4-5 meg to run. Best embeddable Java-based web server I could find was Bejy, weighing in at 277K disk and 6-8 meg memory. That is really good considering Bejy supports Servlets 2.3, JSP 1.2, and SSL. In comparison, Jetty, a popular embeddable Java web server, need 1+ meg disk and 16+ meg memory. Only downside to Bejy seems to be that its not open source and only available for non-commercial use.
JSP is not good for desktop webapps because JSP requires Java compiler. Are there any JSP engine that generates Java bytecode directly? In theory, all you need is a bytecode generator tool like Apache's BCEL and some duck tapes. If not, template languages like Velocity makes more sense for desktop webapps.
I don't think anyone in the world can claim that they use 100% of Microsoft Office suite's functionalities, including its designers and implementers. Not only are people not using all the features, they are either not aware of or don't know how to access the unused features.
I personally use only around 10% to 20% of Word and Outlook functionalities, two Office apps I use daily. I use PowerPoint about once a week and use 40% of its functionalites. I almost never use Excel nor Access. Visio, I use whenever I use PowerPoint. Just eyeballing the numbers, I would say that about 80% of the Office suite is not being used. That is waste of money.
Similar claims can be made against Microsoft Windows although the figure would be higher for me since I am a software developer and I know its ins and outs. All the features and UI to access them are hidden beyond nooks and crannies that most users will never get to nor remember how to get back to. Its like wearing a jacket with ten thousand pockets.
[a picture of Flint holding Tasselhoff's bag of holding]
After comparing Twisted and Medusa, I have concluded that I prefer Medusa over Twisted. My reasoning is that extra functionalities and flexibilities have little value if they are difficult to access. Twisted is hard to grok.
At this point, I am looking for an equivalent of Lucene for Python. I know that Lucene has been ported to .NET (NLucene), but I am not aware of a Python port. Some have suggested sgrep. If you have a recommendation, please let me know. As this list of search engines show, there are too many to consider and little time to do it.
This morning, I am playing with both Medusa and Twisted. Both are Python frameworks for writing socket-based servers (i.e. HTTP, FTP, etc.). Zope was based on Medusa, but there was talk about replacing Medusa with Twisted. I like Medusa because its straight forward. I was up and serving web pages in 10 minutes with Medusa. Twisted is, well, twisted and harder to figure out. I'll bang on it for the rest of the afternoon. Stackless Python looks interesting and useful for running large population of desktop agents, but I don't have time to examine it in detail. Problem with all these crazy Python projects are that documentation is generally poor and one has to resort to Googling web sites and newsgroups. I am starting to miss Java already…
What a bummer. I had been working on a desktop application that uses ASP.NET to drive DHTML UI, but I just found out that ASP.NET is supported on following platforms only:
- Windows 2000 Professional/Server
- Windows XP Professional
- Windows 2003 Server family
That leaves out Windows 9x, Me, and XP Home which make up about 50% of all desktop platforms out there. Admittedly, these platforms don't have IIS installed, but I am using Cassini, a small web server, to host ASP.NET. Everyone can forget about writing UPP, PersonalWebProxy, or what-ever-you-call-it using ASP.NET.
Unless I find a reasonable workaround, I'll have to port everything I have written so far over to either Python or Java. At this point, I am leaning heavier toward Python because it has tight interoperability with COM and Win32 via PythonCom and PythonWin. Damn.
Current plan is to provide Docuverse Daily for free. Services that require server-side functionalities (i.e. digital signature and identity services) will be bundled similar to cable TV services and charged reasonable monthly fees ($5-$45 per month). In addition, DailyApps will be sold at affordable prices via streamlined update and purchase UI. Third party DailyApps will also be sold through Docuverse Daily Expansion service. With single-click purchase and bill aggregation, I suspect most people will spend about $20 per month, half for services and half for applications. There will be no adverstisement revenue other than advertisers paying users to get past ad-blockers and pop-up filters.