Sunday, August 26, 2007

Vista DRM and Performance

Six months ago there was a fuss when Peter Guttman published his article on the Microsoft's new operating system Vista and how its DRM implementation could disrupt computer system performance when DRMed media is being played. Now the crows are coming home to roost.

In the last week there have been reports that Vista networking performance drops to 5% of maximum when the music player is active and 10% of maximum when any visual media player is active. This appears to happen even although the media player is paused, and even on multi-core systems where you might expect other cores to pick up the load. For example:
I have a Q6600, and while experiencing this crappy network performance, all 4 cores are practically idle.
So what will be the conclusion of all this? Microsoft has had many products that have knocked it out of the ball park, but every company produces a duff product now and again. It looks like Windows Vista could become the Windows ME of the 21st century.

Wednesday, August 22, 2007

Search and Analytics

"Search and Analytics" was the topic at the SDForum Business Intelligence SIG yesterday evening where Sajjad Jaffer, co-founder of Mercatrix spoke. The presentation covered the search space describing the latest trends in search with the intent of convincing us that Search is not over. Although one company dominates internet search now this was not always the case and it need not be the case in the future.

There are hundreds of startups with available products that are working on improving search. Sajjad talked us through the usual suspects like media search, semantic search and the use of crowdsourcing to improve relevancy. He also pointed out some interesting analytic resources on the web like Google Trends and Yahoo! Buzz.

The meat of the talk came a the end where Sajjad argued that traditional Business Intelligence spends too much time looking inwards to operational data from the business. For example, if the analytics looked out to what others are saying about their products, the business may be able to react more quickly than wait until product returns and slow sales told them they had a problem with the product.

While I agree that the web can be used for analytics, I am skeptical because there are also some huge hurdles. One problem is that large search companies can show off aggregated results of their most popular queries as in Yahoo! Buzz but any attempt to provide more narrow results that would be of use to a particular business will run into privacy and other problems.

I may be proved wrong. From what I can can make out of Mercatrix, its business is to provide internet search based analytics to companies.

Thursday, August 09, 2007

Disruptive Technology?

The SDForum Emerging Tech SIG meeting last night on "eBay on Disruptive Technologies" did not turn our to be quite what what I expected, however it did contain a couple of interesting insights. Firstly Adam Trachtenberg, senior manager of Platform Evangelism, gave an overview of some of the things that eBay is doing to explore and protect itself from disruptive innovation. He described what they were doing with the wonderful word: "explorimenting".

An enthusiastic audience asked Adam about various of the companies like Skype, StubHub and Rent.com that eBay had recently bought and what their plans for them were. Unfortunately these groups are not in Adams bag and he could not say anything about them. However he did talk about a couple of initiatives that were in his bailiwick.

One of them is a social commerce effort that will allow people to share their eBay watch lists with their friends. The most interesting thing about this project is that it is built on Facebook. Last year Facebook turned their social networking site into a platform that allowed third party applications. As Adam explained, the Facebook platform makes it possible, even easy, for eBay to create social networking experiments like this. Recently there has been a lot of noise about the Facebook platform, and this experiment is another signpost as to how important it will become. The eBay Facebook application will launch in a couple of weeks.

Alan Lewis, a Technical Evangelist with the eBay Developers Program showed us the other eBay initiative a rich internet client application for eBay buyers called San Dimas. The idea is to explore giving eBay buyers a better user experience and also showcase the eBay API. The most interesting thing about this application is that it is written using the new Adobe Apollo/AIR/Flex platform. Adobe AIR is the next generation of Flash player, acquired when Adobe bought Macromedia in 2005. While AIR is still in beta, we have been hearing a lot about it recently, and I expect it to have a big impact when it launches. San Dimas has been in a private beta. We were the first people to see a public demonstration of it.

Monday, August 06, 2007

So Busted

In May I wrote about Fake Steve Jobs and the Vallywag campaign to unmask him. Then I remarked that given the Vallywag reputation for Bulldog journalism they would not get very far. Now I stand corrected.

On Sunday August 5th at 5:56 PST, Vallywag broke the news about how Forbes Editor Daniel Lyons is the Fake Steve Jobs, having read about it in the New York Times, like all the rest of us. Since then they have published 10 further posts on the subject in 24 hours as if quantity could make up for quality. In the mean time FSJ's put down of Vwag as Dr. Evil and Bigglesworth is much funnier than anything they have published in the last 6 months.

Monday, July 23, 2007

BI Software as a Service

Like many others, I went to the July meeting of the SDForum Business Intelligence SIG expecting to hear about Salesforce.com and its new AppExchange. In practice we heard about a lot more. The speaker, Darren Cunningham, had just left Salesforce.com and joined LucidEra, a new start up that specializes in Business Intelligence as Software as a Service (SaaS). Darren also brought along Ken Rudin, the CEO of LucidEra who had some interesting things of his own to say. There are several write ups of the meeting on the web that capture the big picture. I want to note a couple of the smaller moments from the meeting.

Firstly, both Ken and Darren described building your own business intelligence system as being similar to a business building and running its own Nuclear Reactor. What they mean is that while a full blown data warehouse can be very powerful, it also requires a lot of maintenance and attention to detail to keep it running. In practice many businesses do not have the resources and energy to keep their business intelligence system running in the kind of peak condition that is required to get value from it.

Secondly, someone asked about LucidEra's pricing and business model. Darren explained that they are taking the same approach as Salesforce.com. That is, start with an offering for small and medium businesses and then build up to the larger businesses. After 8 years in business Salesforce.com is just now starting to sign up large businesses like major brokerage houses.

Ken had some interesting things to say about pricing. Unlike sales, a typical business has a few business analysts who would be the major users of their system, so pricing on a per seat model is difficult. Also they do not want a tax on reports, so the pricing model should allow a business to run as many reports as they want. Therefore LudcidEra uses a flat rate per application per customer. Currently they are using a single flat rate of $2900 for their starter application.

In my opinion, a flat rate encourages the customer to use as much of the service as they can which is a good thing, however it is optimal for a particular size of business. Smaller customers are shut out by a cost that is too high for them. Large customers could overwhelm the service without fully covering their costs. One way to expand the model is to provide tiered pricing based on the size of the customer. Tiers could be based on either customer total revenue or number of employees.

At the moment LucidEra is just starting to build their portfolio of customers and applications. They will have to suffer growing pains before their pricing model is put to its full test.

Wednesday, July 04, 2007

Design Patterns in Python

Alex Martelli is a leading light of the Python programming language community. He is a leader in the development of the language, author of Python in a Nutshell and has written extensively on Python in other books and articles. Last week he spoke to the SDForum Software Architecture and Modeling SIG on "Design Patterns in Python". Alex has posted the presentation slides here.

Design patterns are a useful concept in programming. A programming language consists of a set of basic constructs that are used in various ways to build a program. Design patterns capture higher level constructs that commonly appear in programs. As Alex explained, an important part of each design pattern is its name. Having a good and well known name for each pattern makes it easy to explain a program and discuss how it works at a higher level than the programming language constructs.

Although design patterns are supposed to be programming language agnostic, many of the books on design patterns are based on statically typed languages such as C++ and Java. There are some classic design patterns that do not translate well into dynamically types languages like Python. One example is the Singleton design pattern. This uses strong typing to ensures that there can be only one instance of a particular type of object.

Python is a dynamically typed language, and in these languages the type system is used to make sure that the right thing happens at run time rather than to do any enforcement. The consequence is that you cannot really do a singleton in Python or any other dynamically typed language. If I were in the dynamic language camp, I would argue that if you only want one instance of an object, make sure that you only create one instance of the object. This is clearly in the spirit of dynamic typing.

However Alex is clearly concerned by the absence of these design patterns from Python. First he claimed that these design patterns do not exist in Python because it is a higher level language and that the design patterns are somehow subsumed by the language system. Then he went on to show us his Python answer to the singleton design pattern, which he called the Borg. In the Borg, all instances of the class share the same state, and so they all appear to be the same instance.

While the Borg pattern works in Python, I do not see it a either necessary or interesting. Alex told us, Guido van Rossum, the father of Python, does not like it either.

Thursday, June 28, 2007

Relational Messaging

The SDForum Business Intelligence SIG was honored to have a new company launch at the meeting last week. Julian Hyde, well known for leading Mondrian, the Open Source OLAP project, gave a talk titled "A new solution to an old problem: How Relational Messaging solves Data and Application Integration". He told us that he had been working with a small group for the last 3 years to develop their streaming database product in a new company called SQLstream (no web site yet).

Streaming databases are nothing new to the Business Intelligence SIG. In 2004 we hosted Celequest, which was recently bought by Cognos. In 2005 we hosted iSpheres, which has subsequently disbanded. In January 2007 we hosted Coral8. The difference between SQLstream and these other companies is less one of technology and more one of vision.

Although there was interesting technology buried inside, Celequest presented their system as a way of creating real time dashboards. Unlike Celequest, iSpheres was concerned with performance, although they were weighed down by a propriety language. Coral8 is concerned with handling complexity and being able to scale when handling real time events that happen in the millisecond to second range.

SQLstream, on the other hand sees their streaming database as a system that can do be used to do any and all Enterprise data and application integration functions. The bulk of the presentation was about how SQLstream could supplant ETL, EAI, EII, SOA and some uses of database systems amongst others. Anyone who has any experience in this area will know that this is a huge claim. I am not going to say whether they are right or wrong, only time will tell us that, however I am going to admire the vision.

There is one other admirable thing in SQLstream and that is a commitment to the SQL standard. Streaming databases requires some some extensions to SQL. SQLstream has some extensions to the SQL standard however they are few and necessary. Apart from these extensions their language is pure SQL.

(The presentation is currently available as a file on our Yahoo web site.)

UPDATE: 12/11/07 SQLStream now have their web site up.

Sunday, June 24, 2007

Virtual Goods

I did not have the time to attend the recent conference on Virtual Goods at Stanford, however the write ups did pique my interest and raise a couple of questions.

Firstly, where do Virtual Goods end? For example, is a downloaded music file a virtual good? I can see that there is a distinction between an MP3 file I have downloaded to my home system and a virtual good that only exists on a server for a virtual world, for example land in Second Life or gold in World of Warcraft. However, there are DRM schemes for music where I cannot use a music file that I have downloaded unless my system is in contact or has recently contacted the server through the internet.

It is fine to define virtual goods as digital goods that are under the control of some other entity, but we need a definition. (I put in the word digital because there are slightly more tangible goods that I own but that are kept under the control of others. A good example is in the stock market, where when I buy shares in a company, the share certificate is held by my broker.)

Secondly, how should we value Virtual Goods? As Susan Wu says in her introduction to the conference, in general we can value virtual goods like any other goods based on their utility. However there are some special considerations. A base value for any goods is its marginal cost of production. The marginal cost of producing virtual goods is zero, so virtual goods can become worthless. For example, if I spent dollars buying gold in the World of Warcraft and Blizzard Entertainment ceases business, my gold has zero value.

Now I do not expect Blizzard to go out of business any time soon. Anyway, if I did buy gold, I would not spend more that I would on a meal in an expensive restaurant. Also, I would immediately spend the gold on something useful like a Vorpal Sword of Bunny-Smashing and go out and kill some bunnies or Orcs or whatever to get value from the money I had spent.

A much more interesting case is presented by Second Life. The company is a private startup without the transparency of Blizzard Entertainment and the controversial business model is less proven. The things that you buy are virtual land and virtual adornments, things that you might expect to keep and cherish in the real world, yet which have a more fleeting existence in the virtual world. While one person has made a huge business success out of Second Life, others have tested it and found it wanting.

We will just have to wait and see what happens to Second Life. In the mean time, I put virtual goods in the same category as fancy food, flowers and 'gifts'. That is something to consume and savor as they are being consumed.

Thursday, June 14, 2007

Programming Language Wars

I have been doing a lot of programming recently, using a wide variety of programming languages. In the last year I have written programs or modules in the following programming languages: C, C++, Java, Perl, PHP, Python, Shell and various dialects of SQL. Tiobe Software maintains an interesting Community Index that tracks programming language popularity. From their data I calculate that I am using 65% of current programming languages (by volume).

For anyone new to the game, Programming Language Wars have a long and storied history. As soon as the first programming was implemented, there were wars about whether to use it or assembler. Shortly thereafter there were two programming languages and the battle commenced with earnest. For example, this article remembers some of the more ridiculous wars from the 70's and 80's. Newbies, get over it, we are at least on the 423 "Great Programming Language War".

I am going to write a series of posts on programming languages that I hope will provide a more balanced view that the usual blast.

Saturday, June 09, 2007

Video 2.0

The best way to find out about something new is to try and do it. Robert X. Cringely illustrated this in an unusual post this week. The post is unusual because he normally comments in his acerbic way on what others in the tech industry are doing. This post is on his own technology adventure.

Cringely has put together a series of video tech interviews and he wanted to provide a way for video feedback. I have done some video, but until I read read the post, I had never considered the possibility of video as a response. Cringely provides an example in the comments of a You Tube video that absolutely demands video feedback and gets it. (That Pachelbel sure knew how to write a bass line, even in the 17th century.)

In other video sightings from around the web, the normally staid TechCrunch blog has a wonderful video mashup on the Jesus phone.