Sunday, September 30, 2007

Software Architecture: Profession and Skills

Paul Preiss, president of the International Association of Software Architects (IASA) spoke on "Software Architecture: Profession and Skills" at the SDForum SAM SIG September meeting. Paul founded the IASA as a professional association for Information Technology (IT) Architects 4 years ago and since then it has grown to almost 7000 members in 50 countries.

Paul started off by talking about his career and how through a series of jobs at different companies he came to understand that the role of IT Architect is often unacknowledged and unappreciated. Also came the realization that IT Architect is an emerging profession and that the profession needs a professional body. One pressing reason for having a professional body is that he believes that the profession will be regulated within the next 5 years and that practitioners should have a say in writing the legislation.

The kernel of talk was about defining what an IT Architect is and does. We all understand the profession of being a Lawyer or Doctor or Accountant, thus we need a similar simple understanding of IT Architect. Paul attacked the problem from several different directions, eventually coming up with two words: Technology Strategy. Just as the Chief Financial Officer is in charge of directing the financial strategy of a business, the Chief Architect is in charge of directing the Technology Strategy. In particular, the role of the architect it to deploy just enough software to enable a competitive advantage for the business. I have been rolling this around in my mind for a couple of days and it seems to make sense.

The IT Architect has to at least understand a business problem and know the technologies that are available to solve it. The choice of the right technologies is not always easy. Technologies are changing fast, resources are limited and implementations do not always succeed. Moreover, other players may have their own agendas. For example, developers may want to use some new technology so that they can put it on their resume. Paul gave us a specific example. He came into a situation where the business was already using several object relational mapping tools and the developers wanted to adopt yet another one for a new project.

Paul ended his talk by plugging the IT Regional Conference in San Diego in October. Everyone who is involved in IT Architecture should check out the conference and the IASA

Sunday, September 23, 2007

The Evolution of Web Analytics

We have not had a talk on Web Analytics for many years at the SDForum Business Intelligence SIG, so it was great to hear Stephen Oachs, founder and CTO of VisiStat, speak on "The Evolution of Web Analytics" at our September meeting. VisiStat is a two year old start-up that provides a web site performance measurement and analytics service (Software as a Service model) in the Small and Medium Business market.

As Stephen told us, first generation web analytics was about collecting data from web logs, integrating that with data from other sources and presenting historical results to IT specialists. The current generation, which he called web site performance management, collects data by page tagging, which entails adding a small snippet of JavaScript to each page. In practice the code snippet is added to a common page header or footer so it only needs to be added once to cover all pages in a site.

Page tagging collects more information than can be extracted from web server logs and it does not require difficult integration to make sense of the data. With better analysis software, the results of page tagging are ready to show directly to end users like the marketing and sales people who are responsible for the contents of the web site. Also, with page tagging we can see the data in real time, which allows the following of a user as they browse around the web site.

Real time access to information opens new doors. Stephen told us about a specific case where a bank became aware that it was subject to a phishing attack on its customers when the bank noticed an unusual change in the patterns of access to their web site. Similarly, click fraud can be detected by unusually high bounce rates from specific a key word. If detected in time the click fraud may be subverted by changing the price for the specific keyword. Finally, real time data provides web site availability monitoring, an additional service that for example, VisiStat offers for free.

The evening ended with a demo of the VisiStat product by Tina Bean, VisiStat Director of Sales and Marketing. The demo involved logging into real live customer web sites. You can see much of the same thing by visiting the VisiStat web site and looking at their live demo. VisiStat is a powerful tool for understanding how a web site is being used. At the same time we could see that it is designed from the end user perspective, so that typical small business user can use it effectively without needing support from an IT department or consultant. Most impressive is the fact that all the power of VisiStat is available to a small web sites for as little as $20 a month.

Tuesday, September 11, 2007

iPhones in the Bargain Bin

The big technology news of last week was the iPhone price reduction from $600 to $400 (plus tax). Pundits were crawling out of the woodwork to voice their opinion. Negative sentiment drove Apple's stock price down a bit. Here is my view of what it means.

The iPhone is worth $600. We know that because almost a million of America's brightest and best were willing to pay that price for for it. Now you can own it for $400. What a bargain!

Sunday, September 02, 2007

Google Flight Simulator Earth

Last Year I wrote about Microsoft re-purposing their Flight Simulator program for their Live search engine. Now comes word that Google is fighting back by adding a flight simulator to Google Earth. While playing with a flight simulator can be fun, I still do not see what it has to do with search.

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.