Category Archives: software development

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?

The battle for the dominant Web API

Thought-provoking post from Joel Spolsky on web client APIs. He says that whoever has the best AJAX library will be the next Microsoft.

Spolsky dismisses “the p-code/Java model” (which would include Flash and Silverlight 1.1 as well as Java applets):

Sandboxes are penalty boxes; they’re slow and they suck, which is why Java Applets are dead, dead, dead. To build a sandbox you pretty much doom yourself to running at 1/10th the speed of the underlying platform, and you doom yourself to never supporting any of the cool features that show up on one of the platforms but not the others.

I don’t follow his logic here. First, “sandboxes” may be slow compared to true native code, but they are faster than any browser-hosted Javascript, at least until Tamarin comes along. Second, AJAX apps are generally as much or more hobbled than plug-in applets.

I’m not dismissing the idea of compiling to Javascript though. There are interesting projects that do this already. In addition, Spolsky seems to be thinking along the same lines as Microsoft’s Eric Meijer, who told me about the misleadingly-named “LINQ 2.0”. But I think plug-in based apps will be important as well, both as entire applications and as rich components within AJAX apps.

Personally I hope there will not be a “new Microsoft.” I’d like to see diversity based on web standards.

Scott Guthrie on .NET futures

I’ve posted my interview with Scott Guthrie, from the UK Mix07. It covers topics including LINQ, Silverlight, the work with Novell/Mono on Moonlight (Silverlight for Linux), ASP.NET futures including MVC, and offline web applications.

Guthrie is a General Manager at Microsoft, responsible for most of the development teams working on .NET. He did some excellent presentations at the UK Mix, intermingling live coding and demos with slides, talk, and dealing with ad-hoc questions – not an easy task.

There were several things I found interesting in his answers to my questions. On a technical level, the way Microsoft’s various implementations of the Common Language Runtime share code is intriguing. In particular, I was fascinated to learn that Silverlight and the desktop CLR are built from the same code tree. There is a second code tree for the CLR, but it is for the Compact Framework, not for Silverlight. The implication is that the performance of Silverlight and its compatibility with other .NET code should be pretty good.

How then is Silverlight much smaller than the desktop CLR? The reason is that most of the Framework library is missing. That’s the trade-off.

Another point of interest is the strength of Guthrie’s reaction when I asked about offline web applications, and Microsoft’s platform versus other approaches such as Google Gears and Adobe AIR. When a spokesperson takes the trouble to trash the competition, it is often a sign of concern.

CodeGear’s Ruby on Rails IDE is released

CodeGear has released its IDE for Ruby on Rails. Called 3rdRail, it installs an instant Ruby on Rails environment, and features code completion, project management, refactoring and integrated debugging. The Eclipse-based IDE runs on Windows, Mac and Linux, and a 30 day trial is available. I’m downloading it now.

Technorati tags: , , , ,

Want a job? Learn Silverlight, not WPF

I keep an occasional watch on technology trends in the UK by the haphazard technique of browsing to Jobserve.com, bashing in some developer platforms, and seeing how many vacancies come up. I last blogged about this in August 2006, and before that in January 2006, March 2005, and August 2004.

Real-world job vacancies trail the conversation we have about cutting-edge web platforms by some margin. To give you an idea, in March 2002, three months after the first official release of C#, Jobserve had just 153 vacancies for C# developers, compared to 1894 for VB and 2092 for Java. Today, C# has 2933, VB and VB.NET 1906, Java 3741.

But that’s not what caught my eye when I looked this morning. I searched first for WPF, and then for Silverlight. WPF went final in November 2006, at about the same time as Vista was released to manufacturing. That’s nine months ago, but Jobserve has only 28 jobs which specifically mention WPF.

Silverlight 1.0 was released earlier this month. It’s a great video player, but many developers are waiting for Silverlight 1.1, due sometime in 2008, which supports .NET programming as well as multimedia. Component vendor Infragistics told me at the UK Mix07 that it is not bothering to release components for Silverlight 1.0, but has lots in the pipeline for 1.1. Keen to work with Silverlight in the UK? Jobserve has just 30 jobs to choose from.

The numbers are tiny (thought let me note, even CodeGear’s long-established Delphi can only muster 93 jobs), but I’m intrigued that Silverlight is actually a hair ahead of WPF in this context. Tomorrow it may be different; but it accords with my own assessment. I like WPF; it’s a better API than Win32 for coding a GUI. But it is a hard sell to developers of those boring business apps that make up the bulk of software development today. Unless you are making big use of visualization, it’s likely you will be more productive with tried-and-tested Windows Forms, or native Win32 code.

Silverlight is different. It is an immediate win if you have desktop .NET apps which you would like to convert to web applications, or ASP.NET apps for which you would like a richer client. Why Silverlight and not WPF? For one thing, cross-platform, essential for public web applications and very useful internally as well, with all those Mac-using designers (and now the CEO wants a Mac too). For another thing, lightweight deployment. When you install or upgrade the .NET runtime on a Windows box, you hold your breath as it updates a gazillion system components and hope that no bizarre error code appears. When you install Silverlight, you just click OK to a browser dialog, and it works.

The contradiction in the title of this post is that both Silverlight and WPF use XAML, so in learning one you are to some extent learning the other. Nevertheless, I now believe that Silverlight will be a more significant platform than WPF, and I’ll be interested to see if future job vacancies back up that prediction.

Update: Ryan Stewart has some US figures which are more positive for WPF, though again the absolute numbers are small. Interesting to watch.