Category Archives: software development

Matt Mullenweg’s less-is-better approach to software quality

Interview with Matt Mullenweg in the Guardian today. This was done at the Future of Web Apps conference. I enjoyed meeting him. He is open and articulate. I had not appreciated until now that WordPress.com took the opposite decision from Google over the issue of being blocked in countries such as China which are less permissive than the USA about what can be published. He found out that by blocking certain words and tracking certain people the site could be unblocked:

Google had the same decision, and they decided that being there was less evil than not being there, ultimately. For us, we decided that being there under those circumstances isn’t worth it. We’d rather not be there.

A blogging site is not the same as a search engine. It’s arguable that both sites made the right decision. Not easy.

I was also struck by Mullenweg’s espousal of an Apple-like minimalism in software design. He says WordPress has too many options. He was particularly critical of Open Office:

If you open up Open Office, look at the preference screen, there are like 30 or 40 pages of preferences. Stuff that you and I will never care about and should never care about.

I accept the main premise – software should just work. I understand the further implicit argument, that adding options tends to diminish software quality, by adding complexity to the code. But it would be interesting to analyze some of the options in, say, Open Office, and find out why they are there and who is using them. Is having all these options tucked away really a bad thing, or this really more about user interface design?

Hosted platforms and the risk of lock-in

Two interesting posts for anyone considering building an application on a hosted platform like force.com (Salesforce). Onstartups has a thoughtful article about what it would be like to succeed on such a platform, and how much money and control you might end up ceding to the hosting vendor. Bob Warfield’s Smoothspan blog takes up the theme with a response that is longer than the original. What does it all boil down to? This, I think (from Smoothspan):

First, it has to be possible for you to move your software in a reasonable amount of time to new lodging if it gets too ugly.

As Smoothspan notes, this is what makes a service like Amazon S3, which you can easily switch out for another service, more attractive from this point of view than force.com, with its proprietary Apex language and forms.

That does not mean force.com is necessarily a bad deal. It means there has to be a lot of added value – such as productivity, high-level components, rich services – before it makes business sense to accept the lock-in.

New Silverlight book with live web coding examples

Adam Nathan is supporting his new book on Silverlight 1.0 with live code examples. This means you can modify the code in the browser and see the Silverlight canvas immediately update. It is a excellent way to get an idea of how the XAML works.

Of course you can easily invalidate the code, in which case you get a parser error.

Works on FireFox; not tried it on the Mac.

Technorati tags: , ,

An SLA for Amazon S3

Amazon has announced an SLA (Service Level Agreement) for its Simple Storage Service (S3).

S3 is great, and I noticed how it kept getting mentioned at the Future of Web Apps conference last week. The fact that people are using it, and liking both the performance and the price, says far more about it than any amount of PR.

The lack of an SLA was a snag for enterprise users who need assurance of reliability. So now there is one – but how much is it worth? Not much. The SLA guarantees 99.9% uptime, but you only get between 10% and 25% discount on your usage fees if it slips below that. There’s no coverage for consequential loss:

…your sole and exclusive remedy for any unavailability or non-performance of Amazon S3 or other failure by us to provide Amazon S3 is the receipt of a Service Credit

Given the keen pricing of S3 that’s not surprising. Still, the SLA does have some value, if only for setting expectations about what level of service S3 is likely to deliver.

Update: WordPress is now using S3 as its primary store, but Matt Mullenweg says the SLA means little to him. 

Technorati tags: , , , ,

Facebook, Comet, FireEagle at Future of Web Apps

This will be my last post direct from the Future of Web Apps as day two draws to a close.

Dave Morin, Senior Platform Manager at Facebook, talked this morning about the site’s remarkable growth and its value as a developer platform. He says its user count is growing at 3% per week, which equates to doubling each 6 months or so. Even more impressive are its activity stats – 50 page views per user per day, according to Morin, with 50% of users logging in at least daily.

So what is the Facebook platform? Morin calls it “A standards-based advanced web service which enables you to access the social graph”, where “social graph” means the connections between people. If you build an application on this platform, you can hook into these connections. An attraction for developers is that applications can achieve rapid adoption through the viral networking that Facebook encourages.

For me, his talk was more notable for what it did not say, than for what it did. Morin referred to the oft-repeated Facebook problem, that developers fear their best ideas will simply get built into Facebook itself, but did not offer any comfort beyond bland reassurance. I’m also interested in the implications of Facebook becoming increasingly important as an identity provider. How does it compare to others such as Google, Microsoft, Yahoo, when measured against the laws of identity developed by Microsoft’s identity architect Kim Cameron, for example?

Joe Walker spoke on Comet, an API for two-way communication with the web browser. Fascinating session, if only for his description of the hacks required to make it work – web browsers are not designed for this. Interesting comment on IE and how it handles data in iFrames – “it’s not wrong, but all the other browsers do it better.”

Tom Coates from Yahoo spoke on FireEagle, the code name for a project which exposes an API for applications that provide location-based services. If you sign up, it uses a variety of techniques to detect your location. An application could then do things like advising the speed limit in your area, or giving you a weather forecast, or informing you of friends nearby, or any number of other possibilities. Intriguing stuff, but with security and privacy implications that have not been fully worked out. It will be interesting to track what happens once people begin to sign up, which will be possible shortly in the form of an early test release.

Great for debugging: Microsoft to release .NET Framework source

Scott Guthrie has the details. As my title implies, this is great for debugging. There will be benefits for the Framework as well, presuming Microsoft listens when a developer says, “Why does your code do this and not that?”

Is this a big radical step for Microsoft? I don’t think so. Nor does it merit this kind of predictable backlash – Steven J Vaughan-Nichols saying that Microsoft is tempting open source developers to use its code and become vulnerable to lawsuits.

I recall an early .NET briefing in which an IT exec from the Nationwide Building Society (an early adopter) said how grateful he was to Microsoft for sharing the source to the .NET Framework. How come? Well, ever come across Reflector for .NET? If compiled .NET libraries are not obfuscated, you can easily decompile the code. Admittedly you will not see comments, but it is still pretty effective. As far as I know, the .NET Framework has never been obfuscated, so in some ways we already had the code.

I do understand the risks for projects like Mono, which seek to be clean-room implementations, but I doubt they are significantly greater than before. Further, I suspect that if Microsoft wanted to bring legal guns to bear on Mono, it is likely that it already could. Although Mono builds on ECMA standards, it implements plenty of stuff that is not covered by those standards. I have no idea whether it breaches any Microsoft patents; but I would not find it surprising. What stops Microsoft pursuing Mono? Mainly, I imagine, because it is good for .NET and therefore a benefit to the company.

Technorati tags: , , , ,

Microsoft Seadragon: smooth scaling for web images, coming to Silverlight

I mentioned Microsoft’s short presentation yesterday here at the Future of Web Apps conference. The highlight was a single page showing the complete works of Charles Dickens, with every page on view. We then zoomed in to read a page; the performance was great and the type perfectly clear. However I am taking it on trust that it really was all of Dickens works…

The technology behind this is Seadragon, acquired by Microsoft in February this year. I’m told that it will be integrated into Silverlight 1.1, so I guess we will be able to use this cross-platform next year. It is also used in Photosynth.

Is it any different from what you can already do with say Google Maps and related, or Virtual Earth? The answer I guess is that amazing zoom capability is nothing new, but Seadragon looks like an advance in smoothness and probably ease of programming. The goal:

visual information can be smoothly browsed regardless of the amount of data involved or the bandwidth of the network.

Web identity, Facebook, iPhone debated at Future of Web Apps conference

I’m at the Future of Web Apps conference in London. Ryan Carson is interviewing Om Malik and Mike Arrington about – you guessed – the future of web applications.

Organizers Carson Systems seem to be testing the size of the market for their conference. This one follows another in London earlier this year, at a smaller venue. I suspect it is reaching its limit, though Carson consistently attracts high quality speakers. The conference aims to be an incubator for startups, though it attracts a wider audience than that implies.

As for the debate on stage, it is all pretty inconclusive as you would expect, but I’m interested in how the discussion keeps coming back to web identity issues. “Google pushing its identity mechanism, so is Yahoo, and so on,” says Malik. Carson asks how the problem of multiple identities will be fixed? Malik immediately turns pragmatist.  Developers should “support them all, what do you care? Let them fight it out”.

The conversation turns to Facebook. The participants flail around. Nobody knows how significant Facebook will prove long-term, or how viable Facebook applications are for developers. There is concern that Facebook itself may just copy all the good ideas. Further, Malik is dismissive of what has been done so far. “It is amateur, preliminary stuff,” says Malik. “If it is such as great web OS, where are the smart applications? I haven’t seen any.” Asked where Facebook will be in a year’s time, Arrington says it will go public; Malik says it will be embroiled in legal issues.

Malik is not altogether negative. He sees the real value of Facebook as an identity system. “”One application which shows the potential of Facebook is Free World Dialup [FWD]. Facebook becomes a directory service. That would be my idea of a disruptive application.” FWD integrated VOIP into Facebook.

Has Google been beaten by Facebook? “I don’t think the game is over with regard to social networking,” says Arrington.

What else? I liked Malik’s comment that “You should be building web-apps that are brain-dead simple.” According to him, many web apps “don’t address the principle of fixing someone’s pain point… a lot just do too much and it’s not clear who they are for”.

Malik also noted that European startups have an advantage over the US, though not necessarily Asia. “Europe has a much better broadband infrastructure. You are seeing the next broadband platform. Second, most European startups have the ability to incorporate mobile into their business plans.

Carson touches on mobile development. Is the iPhone a viable development platform? “Why support a platform where the guys who own it don’t want it to be supported?”, says Malik. What about iPhone vs Google Phone? “Google Phone is tackling the emerging markets. iPhone is the upper end of the market.”

One more quote from Malik. “Please stop doing offlice clones. However you might thing Google docs are great, people are not using them.”

Arrington’s big tip is not to spend much money. The beauty of the web is that bright ideas can be tested cheaply.

Technorati tags: , , , , , ,

Adobe Thermo: Visual programming for designers

Adobe has taken the wraps off Thermo, a new tool aimed at bridging the designer/developer gap by enabling designers to create an interactive user interface without writing code, and making it easier for designers to create components that developers can code against. Graphical components can be converted into MXML objects.

Designers will be able to work with placeholder dynamic data, giving a more accurate idea of what an application will look like at runtime.

An important feature is round-tripping between Thermo and Flex Builder. Yes, this sounds similar to what Microsoft offers with Expression and Visual Studio:

The designer’s work can be incorporated directly into the production application with no loss of fidelity, and designers can continue to refine the design throughout the iterative development process.

There’s a blow-by-blow account of the Thermo demo at Max in Jen deHaan’s blog post. It sounds as if it went down well at Max. Don’t get too excited though: this is a sneak preview, so no product before 2008, maybe later than that for the release version.

I’m not at the conference myself; I’ll be attending the European Max in a couple of weeks time, and I’ll find out what I can about Thermo.

Personally I’m not excited by live data at design-time. Borland has had this for years in Delphi, and it never struck me as a huge advantage. Then again I am not a designer. Round-tripping is a big feature though, and the ability to take graphics out of PhotoShop and easily convert them to programmable components sounds great.

It’s also interesting to see the unfolding of another chapter in the Adobe/Microsoft wars. There are even family connections. The Thermo team is led by Mark Anders, one of the inventors of Microsoft’s ASP.NET.

Zimki closure shows the perils of hosted web platforms

A couple of days ago, a low-key posting on the Zimki blog announced the closure of the service:

We regret to inform you that the Zimki service is to be withdrawn and therefore will no longer be available from 24 December 2007. We would like to apologise for any inconvenience that this may cause…There are no plans to opensource Zimki…We hope that Zimki has helped to increase your knowledge and understanding of the possibilities that utility computing and an online application framework can bring.

Zimki is a platform for online applications, and boasted rapid development, use of a familiar language (Javascript), fault-tolerance and scalability through use of a hosted platform:

There was also this claim in the documentation:

Zimki itself will be released as open-source software soon freeing you from fears of lock-in that having only a single-provider may cause.

Apparently this was a promise that counted for nothing. Anyone who seriously committed to Zimki has some rapid rethinking and migration to do. Zimki simply advises its users to remove their data and applications from its platform before it closes for ever in a few months’ time.

Well, there were plenty of warning signs. In July, parent company Canon Europe announced that it would cease to invest in the project – this Reg story has the details. But it strikes me that the Zimki story is thought-provoking for anyone contemplating a move to hosted applications. The concept makes huge sense, provided that the platform you choose does not run into problems beyond the control of its users. Just how big and financially stable does the provider have to be, in order to reduce that risk to reasonable proportions?