All posts by onlyconnect

Experts Exchange: a great way to make money on the Web

For Experts Exchange that is, not for you. Experts Exchange is a question and answer site which most people who use Google have come across, because it often features high in the rankings when you search for troubleshooting information about some strange Windows error or the like. This can be frustrating, because the solutions are behind a paywall. The paywall is partial, since sometimes if you scroll down … and down … and down, you find the solution at the bottom of the page, after a ton of useless category listings. However, this isn’t always the case; either some solutions are protected, or the site detects frequent visits and turns off the solutions after a while. I think it is the latter. This can be frustrating, since there is good information in many of the solutions. You also have to pay if you want to ask questions beyond a very limited allowance each month.

The great thing from the point of view of the site owners is that they don’t pay a penny for the expertise they sell, other than for moderation and hosting. If you sign up as an Expert, you can post solutions, though you still can’t see all the other solutions until you acquire a certain number of points. Points are awarded for accepted solutions, and solutions are accepted if the questioner marks them so. If the questioner doesn’t bother (not uncommon) then eventually a moderator turns up and decides which answers merit points. If an expert gets lots of points, the reward is an Experts Exchange certification for the subject area in which the points were won.

I tried being an Expert recently and it is quite fun if you are interested in the kinds of technical problems people want to solve and/or get any satisfaction from helping them. It is also quite annoying. Questions vary from trivial to impossible; with the trivial ones, it is a race against time as numerous Experts try to post their solution first. Some are impossible because they are hopelessly vague (so common with support issues), have no clear answer – eg “should I pay for help with SEO” – or because what the questioner wants simply cannot be done.

It is also interesting to see what questions are being asked. There is a heavy bias towards Windows. I guess this is another reminder of Microsoft’s continuing dominance, though it also reflects the culture of the community that has formed around the site. Many of the programming questions seem to be from beginners, though often wrestling with real business applications, raising questions about the level of IT expertise out there.

It might be worth answering a few simple questions to get 10,000 points, or 3,000 per month thereafter, as this qualifies Experts to get free use of the site. What about spending hours trying to fix a tricky and intricate problem with Active Directory, without access to the system you are trying to troubleshoot? That doesn’t make sense for most of us, since if you can do that you can probably do it for real money elsewhere. These are questions that might not get answered at all, though sometimes they are, leaving valuable information for others in the process.

That said, it strikes me that the Experts here could get a better deal. Why not set up a cooperative where they share the subscription fees? The problem is how to acquire the necessary momentum and build up a strong repository of solutions that show up in Google and bring users to the site.

As for developers, I’d prefer StackOverflow, which is unequivocally free; the organizers presumably get by on advertising income.

Technorati Tags:

Microsoft’s hefty Outlook 2007 patch – a performance fix at last?

I’ve just come across Microsoft’s February 2009 cumulative update for Outlook 2007, thanks to a comment on this blog. This is apparently a pre-release of what is coming in Office 2007 SP2, promised for release between February and April 2009 – yes, that’s round about now.

As for Outlook, if you are keen to get the fixes immediately there are three documents to read. This one describes the update, and you should settle down for a long read. The bit people will likely care about most is this:

Performance and responsiveness are key concerns for all our customers. That is why we made the large performance tuning and optimization changes that are included in Office suite Service Pack 2 (SP2).
Outlook 2007 SP2 delivers performance improvements in four major areas:

  • General Responsiveness
    SP2 reduces I/O disk usage and UI response time.
  • Startup
    SP2 removes long operations from initial startup.
  • Shutdown
    SP2 makes Outlook exit predictably despite pending activities.
  • Folder/View Switch
    SP2 improves view rendering and folder switching.

In other words, the patch promises to fix that annoying “The data file … was not closed properly.” message as well as speeding performance.

In case you are not aware of how much these problems have troubled users, look no further than this blog. This post on Outlook slowness, from November 2006 gets thousands of views every month and has 190 comments; this follow-up from February 2007 is equally popular and has 144 comments. 

So how do you get the patch today? It is an unsupported hotfix, which means you have to request an email link from one of two pages. Here I must admit to being confused. I’ve carefully read the paragraph on update information and it still makes no sense to me. It says that to download the update you need this hotfix (961752); but adds that:

For full Outlook functionality, you can install the Cumulative Update package that is associated with the following Microsoft Knowledge Base article: 967688

You might think then that the first hotfix is included in the second; but curiously the second supposedly cumulative update is much smaller than the first. Both hotfixes are dated February 24th 2009. I took a cautious approach and applied them both, in KB order, and it seemed to work. Alternatively, wait for the complete SP2.

When you run Outlook after applying the patch you get this dialog:

Apparently this is the reason:

Immediately after you install the SP2 update, the first startup of Outlook will not be fast because Outlook must update internal PST data structures that are used in our optimizations. This is a one-time cost, however, and it affects just the initial startup. As soon as the data structures are updated, Outlook can then benefit from the improvements.

Is Outlook 2007 really fixed? We’ll see; but I’m hopeful there will be real improvement. Reading the knowledgebase article, it sounds like Microsoft took the problem seriously. There are hundreds of other bug fixes too, though I guess some of these have been fixed for a while – this is a cumulative update after all.

Vista’s well-documented problems at launch combined with the desperately slow Outlook 2007 was a one-two punch that must have cost Microsoft millions of dollars, and early adopters suffered significantly in terms of lost productivity. Vista is not so bad now; if Outlook is fixed too then all that remains is to hope that Microsoft never again shows such low regard for its customers.

Tim Bray’s contrarian views on Rich Internet Applications

There’s a though-provoking interview with Sun’s Tim Bray over on the InfoQ site. One of his points is that Rich Internet Applications aren’t worth the hype. He says that web applications are generally better than desktop applications, because they enforce simplicity and support a back button, and that users prefer them. He adds:

Over the years since then I have regularly and steadily heard them saying: "We need something that is more immersive, more responsive, more interactive". Every time without exception that somebody said that to me, they have either been a developer or a vendor who wants to sell the technology that is immersive or responsive, or something like that. I have not once in all those years heard an ordinary user say "Oh I wish we go back to before the days of the web when every application was different and idiosyncratic … ".

In further gloomy news for advocates of Adobe Flash, Microsoft Silverlight or Sun’s own JavaFX he adds:

I suspect that the gap in the ecosystem that lies between what you could achieve with Ajax and what you need something like Flash or JavaFX or Silverlight to achieve is not that big enough to be terribly interesting.

I think there is a lot of truth in what he says, and I still regularly see Flash applications or Flash-enabled sites where I wish the developers or designers had not bothered. Nevertheless, I don’t go along with it completely. I’m typing this post in Live Writer, a desktop application, when I could be using the WordPress online editor. The reason is that I much prefer it. It is faster, smoother, and easier to use.

Another example is Twitter clients. I use Twhirl though I may switch to Tweetdeck; both are Flash (AIR) applications running as it happens outside the browser. I’d hate to go back to interacting with Twitter only through web pages.

I agree there there is some convergence going on between what we loosely call Ajax, and the RIA plug-ins; Yahoo Pipes apparently uses the HTML 5 Canvas element, for example, using this Google Code script for IE support. I’m glad there is a choice of RIA platforms, but I don’t see either Flash or Silverlight going away in the forseeable future.

It’s worth recalling that the RIA concept began with the notion that a rich user interface can be more productive and user-friendly than an HTML equivalent. I’ve written a fair amount about the legendary iHotelier Broadmoor Hotel booking application which kind-of kicked it off – and I’ve interviewed the guy who developed it – and it was undoubtedly motivated by the desire to improve usability. As far as I can tell it achieved its goals, which were easy to measure in that online bookings increased.

Multimedia, rich visual controls, Deep Zoom, offline support, pixel-level control of the UI; there’s a lot of stuff in what we currently call RIA that is worthwhile when used appropriately.

Another twist on this is that RIA is enabling a more complete move to web applications, by reducing the number of applications that do not work either in the browser, or as offline-enabled Flash or Silverlight.

Still, Bray is right to imply that RIAs also increase the number of ways developers can get the UI wrong; and that in many cases HTML with a dash of Ajax is a better choice.

I think the RIA space is more significant than Bray suggests; but his comments are nonetheless a useful corrective.

Leaving Las Vegas: Mix09 wrap-up

I’m heading back to London after 3 days at Microsoft’s Mix09 conference in Las Vegas. I took the opportunity to ask a few delegates what they thought. One thing that everyone seemed to love was SketchFlow, a new feature of Expression Blend which enables designers to sketch out design ideas, distribute them for discussion and annotation, collect responses, and export the results to Word to create a report or proposal. It looks like SketchFlow has been influenced by Bill Buxton, who gave a keynote at Mix, since it embodies one of his key ideas, that design ideas should not look too finished as that inhibits the response.

There was also enthusiasm for Silverlight 3.0, with its numerous new features including out-of-browser support. Several Adobe folk were at Mix sizing up the competition; one was Mike Downey who commented:

I’m really impressed by how much Microsoft has gotten done with this whole platform so quickly. They’re catching up really fast. #mix09

It’s true that Silverlight is maturing with remarkable speed, and many of the developers I spoke to were using it or planning to use it.

That said, we are really talking about Microsoft platform people, most from a developer background. I got some insight into what Microsoft is up against chatting to some design students and a lecturer on the bus to the airport. Microsoft sponsored their visit to Mix in an attempt to get them interested. They all use both Macs and Adobe tools; and the lecturer said to me, “we already get the students to install 7 different pieces of software for the courses we run; why should I add two more (meaning, I think, Expression Blend and Visual Studio)? The Mac issue is huge; there is some work being done to support Silverlight design on the Mac, but it is rudimentary in comparison to Blend.

The sessions on ASP.NET MVC were well attended and of the developers I spoke to, those who grasp what it does are delighted with it and intend to use it – several had evolved their own ASP.NET frameworks out of frustration with Web Forms. It appears though that Microsoft didn’t pitch ASP.NET MVC in a way that communicated well with developers not already familiar with it. Some had attended sessions but still didn’t really grok what it does.

Mix day one, with the Buxton/Guthrie keynote, went down better than day two, which had the IE8 launch and Deborah Adler presenting her research and commercial success designing medicine bottles – interesting but over-long in a web conference. IE8, which was a highlight of Mix08, didn’t make much impact here as everyone already knew all about it, and it no longer looks so impressive one year on, even though it is a big advance on IE7.

Windows Azure didn’t appear to make much impression here, though there is relief that SQL Data Services is getting full relational features. I attended a UK round table on Azure with the other UK journalists who made it out here, Jon Honeyball, Simon Bisson and Mary Branscombe. I observed that Azure is widely misunderstood or not understood, that the follow-up since PDC has been poor, and that the web site relies too much on videos and is confusing to navigate; the early access system based on developer tokens is also problematic. I reckon Microsoft needs to do more work on communicating what Azure is about, if it is to win any mindshare from other cloud contenders.

Still, overall this was a good Mix; one delegate said it was the best Microsoft conference he’d ever attended. The wi-fi worked. The conference layout is good for networking and the warm atmosphere was not just a consequence of the desert air.

By the way – Mix10 has been announced, same place, March 15 – 17, 2010.

How to print in Silverlight out of the browser

Trick question, you can’t, or not in any sane way that I’ve discovered. When an app using Microsoft Silverlight is running in the browser you at least have the browser’s print features, but a SLOOB (Silverlight Out of Browser, a new feature in Silverlight 3) does not even have that to fall back on.

This is unfortunate for business applications, though of course many applications are fine without print features.

Workarounds: well, you can press Alt+PrintScreen and paste into Paint…

Another idea is to generate a document in code, then let the user “download” it from your SLOOB to somewhere on the desktop, since finding a document in the app’s isolated storage would be a challenge. The user can then print the document at his or her leisure.

What this illustrates is that even in version 3.0, Silverlight is not altogether mature, especially for this new out-of-browser feature. I’m told that print support is planned in some future version – Silverlight 4.0 I guess. Software is always a waiting game.

Note this post is based on the Silverlight 3.0 beta; it’s just possible something could be added in the final version.

Technorati Tags: ,,

Mix09 Day One: Silverlight 3.0 is launched

I’m at Microsoft’s Mix 09 conference in Las Vegas, where VP Scott Guthrie has unveiled Silverlight 3.0, the next iteration of the cross-platform browser plugin that renders multimedia and executes .NET code.

There’s plenty of good stuff in Silverlight 3.0 and it’s been well received. Highlights are pixel-level graphics API (which lifts any restrictions over what kind of user interface you can do in Silverlight), offline/desktop app support, deep linking which means you can have urls that point to dynamic pages within your applet, binary XML for fast access to remote data, ClearType fonts, import from Adobe PhotoShop and Illustrator, lots of cool features in Expression Blend 3.0 (which now looks like a tool that designers might actually want to use), and support for more media codecs including H.264 and AAC.

Can Microsoft beat or match Adobe? One notable aspect of Mix is that the people here seem to be largely Microsoft platform developers (not designers), interested in rich internet applications and going cross-platform. The sessions here on developing business database applications have been packed.

It is a contrast to the attendance I saw at Adobe’s Max Europe, which was designer-focused with Macs everywhere. There’s little evidence so far of Silverlight breaking out of the Microsoft niche (large though that is) and becoming something that the wider web development community takes seriously.

That could change if Silverlight achieves greater visibility and installed base (latest figures from riastats show only around 20% of browsers have the plug-in installed). The Soyatec Eclipse-based development environment, which apparently Microsoft funded, could also be important, since many web developers and designers do not run Windows.

Still, I don’t want to underplay the significance of Silverlight within the Microsoft community. The guy from Netflix made a big point of the value of zero install for Silverlight applications (once the runtime is installed). Many users are wary of anything that has to be installed, whether through fear of malware or simply experience of bad installs. Add cross-platform to that, now with desktop support, and Silverlight looks attractive for .NET developers.

Mono leader Miguel de Icaza made an interesting comment on Twitter today:

Wpf will be irrelevant because sl3 is xplat and the subset that matters. Full machine access is irrelevant or trivial to do

I also spoke to Microsoft Rich Client product manager Brad Becker today, who told me that one day WPF and Silverlight might merge, or become different profiles of the same thing.

Silverlight is becoming capable enough that it could be used for an increasing proportion of business applications. It fits the cloud computing model, and if this grows as expected then being sandboxed from local resources becomes less important, and of course has security advantages.

Cloud computing means exporting your IT infrastructure to the Internet

I’ve just attended my first cloudcamp unconference, held during QCon London. We ended up debating how you would explain cloud computing to a non-technical audience. The problem is that different people mean different things by the term.

The consumer perspective is to do with running applications and storing your stuff on the Internet. Gmail, Google Docs, Skydrive, are all examples of doing cloud-based computing from a consumer perspective. Somehow we brought BBC iPlayer, Facebook and YouTube into the mix as well. Some think that the home computer will disappear, replaced by Internet-connected appliances and devices.

The small business and entrepreneur’s perspective is to do with low start-up costs and low barriers to entry. Anyone can run a web site, take payments with PayPal or Amazon Payment Services or Google Checkout, and use cloud services for email and collaboration.

The larger business or enterprise perspective is do with exporting IT infrastructure to the Internet. Close your data centre, sell your servers, move your computing to virtual servers running on Amazon’s elastic compute cloud or some such. There is not much of this happening as far as I can see, though we are seeing virtualization (which might be a first step), and some take-up for software-as-a-service (SAAS) applications like Salesforce.com.

I suppose it is appropriate that the cloud term is fluffy. To some it is synonymous with the Internet; to others it means SAAS applications; to others it means virtual servers running who knows what; to others it means a hosted application platform (platform-as-a-service or PAAS).

The problem with vague terms is that they make discussion difficult.

My favourite usage: cloud computing means exporting IT infrastructure to the Internet.

F#, Enterprise JavaScript at QCon London

The best sessions here at QCon London have been the small ones, not the big ones. Yesterday the slot I enjoyed most was from Attila Szegedi on JavaScript in the Enterprise. He uses Mozilla Rhino for server-side development. It’s not a mainstream choice; but he made a case for it, saying that continuations in JavaScript bring huge benefits, that there is a ready supply of developers with JavaScript skills (albeit mostly browser-based), and JavaScript is so flexible that he can work around any limitations.

One example is that JavaScript has no namespaces; but it does support function pointers, so he adds a bunch of function pointers as members of an object, and then that object works like a namespace.

Szegedi says he has little interest in ECMAScript 4.0 – once thought to be the future of JavaScript – because there is no community consensus around it.

Today I’ve just attended a session on Microsoft F# given by Amanda Laucher. F# is a functional language that will be released as part of Visual Studio 2010. I knew little about it until today. Laucher gave a code-heavy presentation looking at how the ease of concurrency in F# can greatly increase speed of execution, using an example from the car insurance industry.

Laucher said that threading in C# is horrible in comparison.

Developers are not going to abandon C# or Visual Basic in favour of F#. Rather, they will encapsulate pieces of functionality in F# where they can get benefit, and call them from their C# or VB application.

Technorati Tags: ,,,,,

QCon London 2009

I’m at QCon London and covering it on Twitter as wi-fi and battery power allows. The focus of the conference is enterprise development, and it spans Java and .NET, SOAP and REST, but with a bias towards Agile methodology.

I was here last year, and my observation is that last year there was considerable angst about the idea that the SOAP stack was failing to deliver and that new stacks based on REST were the thing to do.

This year this same statement feels more widely accepted and people are moving on, based on that assumption.

One delegate stuck his hand up and asked, “is this a fad, or will it last”? Sounds like a cry of pain from someone who invested heavily in something now condemned. History tells that in five or ten years time we may well be equally enthusiastic about some new thing and observing all the weaknesses in the bad stuff we used to do.

Still, these trends don’t form overnight. We have to choose what looks like the best model at the time.

I’m typing this during a session on test-driven development. Personally I think TDD is a more profound improvement in the software development process than REST vs SOAP; the detail of TDD will continue to evolve and be debated; but its basic ideas are hard to challenge.

As an aside, this is one factor in why ASP.NET MVC is so important for developers on Microsoft’s web platform. Reason: it’s testable.

Mono creeping into the mainstream?

For those of you who have not already seen this link on Twitter: I’ve posted a short piece on Mono, the open source implementation of Microsoft .NET. The piece was prompted by my own experience writing a simple .NET application in Visual Studio and deploying it to Linux. Admittedly I anticipated the move by using MySQL rather than SQL Server as the database; but even so, I was impressed by how easy it was – I spent more time recently deploying an application from Visual Studio 2008 to Windows Server 2008, thanks to some issues with SQL Server Express.

Don’t Miguel de Icaza’s comment about scalability and garbage collection, two of the factors that have deterred some from real-world Mono deployments.