Very much a first look – I’ll have much more to say about this software.
Category Archives: software
Designers, Designers, Designers
The last in my little series on design matters.
Adobe AIR runs on Linux
An email from Adobe alerts me to the release of AIR 1.1 for Linux beta, which I installed on my laptop which runs Ubuntu.
Installation is not quite so smooth as on Windows; you have to set execute permissions on the download before running it. It took only a moment though, and I soon had twhirl up and running, which is the only AIR application I use with any regularity.
The release notes say that all features are available except DRM. If you want transparency support, you must have a compositing manager like Beryl, Compiz or Compiz-fusion installed. You can also download a Linux SDK.
I realise that most of the world only cares about Mac and Windows clients, but I like today’s Linux desktop and kudos to Adobe for supporting it with AIR.
The new power in computing: design-centric development
I’ve been mulling over the insights from Microsoft’s Remix 08 conference in Brighton, and in particular Bill Buxton’s contention that it was a focus on design that saved Apple, and that a focus on design is the only thing that can save Microsoft.
It is all very well to nod heads and agree that design is a critical matter; but we are generally not good at integrating design into the software development process. One of the problems is that most development methodologies that I have seen do not address this matter well. In fact, one of the problems is that we do not know how to talk about design or even what it is. When Martin Fowler wrote Is Design Dead he meant something different from what Buxton is talking about. Design is fuzzy and hard to measure.
The best I can come up with at the moment is that design is about user interaction. If software is about input –> processing –> output, then design is about how you do the input and get the output. Design is not about appearance; but it includes appearance. Design is not engineering; but design problems can sometimes be solved by engineering and vice versa. Design is not functionality; but doing the right thing at the right time is within the scope of design.
One of Buxton’s themes is the importance of transitions. How you get there is as important as what you get. This could mean visual effects, or what you have to press or click or move to get from one place to another. Think of the way Vista users get annoyed by having to go via a Network and Sharing Center to get to what they want, the Network Connections dialog; that is a design failure. Or all that discussion around Vista’s shutdown options provoked by Joel Spolsky’s somewhat unfair article. Design issues, of which there are many other examples
Design is ascendant for several reasons. One is that increased computing performance has given designers more freedom, though that also means there are more ways to get it wrong. Another aspect is that falling prices have made adequately powerful personal computers (or for that matter MP3 players) a commodity, and design is now key to differentiation. Third, the Web has focused minds on the minutiae of design, as sites compete for user attention. Macromedia’s (now Adobe’s) work with Flash has been a big influence, especially after the company joined the dots back in 2002, and started to promote Flash as a means of improving the user experience in applications.
If I reflect for a moment on the last 30 years or so of software development, it is easy to pick out ideas that have really made a difference. Object orientation. The graphical user interface. Test-driven development, and another big insight of the Agile movement, participation between all stake holders.
I suggest we should add design-centric development to that list, even though at this stage we are not sure how to do it. There’s been a lot of discussion about designer/developer workflow, and a few tools and ideas from Adobe and Microsoft that help to enable it, but this is only scratching the surface. Further, with their focus on graphics and graphical effects, they make it hard to distinguish between design and decoration.
So how do we do design-centric development? Learn from Apple and Google is one answer. Have developers and designers in the same room, or appoint more designers to the board, could be another. I think this topic is one that deserves, and will get, lots of attention in the next few years.
Microsoft Oslo: a tool, a language, a repository
A couple of Microsofties are talking up the Oslo launch at the forthcoming PDC. “Oslo” is what Microsoft sees as the next generation of software development – I think.
Don Box and Douglas Purdy have just posted their own definitions. They should know, they’re working on it.
With Oslo, we’re doing two things:
1. We’re making it easier for people to write things down in ways that make sense for the domain they are working in – the common term for this in the wild is modeling.
2. We’re making the things people wrote down accessible to platform components during program execution.
we have boiled down Oslo to three very simple things:
- A tool that helps people define and interact with models in a rich and visual manner
- A language that helps people create and use textual domain-specific languages and data models
- A relational repository that makes models available to both tools and platform components
There will be a CTP for us all to try at PDC.
The last time the industry tried this I believe it was called UML 2.0; it excited a lot of theoreticians but made little impact on real-world application development. I’m sceptical about Oslo too; but let’s acknowledge at least that the goal is a worthy one.
Having said that, what do you think about this remark from Purdy:
For me personally, Oslo is the first step in my vision “to make everyone a programmer (even if they don’t know it)”.
I’m sorry, that “everyone a programmer” line brings to mind spaghetti-macros in Excel or some of those unmaintainable Access and Visual Basic applications which you still see sometimes if you hang around small businesses.
Still, there is a costly divide in development, which is to do with the fact that A is an expert is some particular field, B is a programmer; and somehow A’s expertise has to be expressed in B’s code. I think this is about bridging that gap.
What does not a valid win32 application mean? Say, with Chrome setup?
Browsing through my logs I see a ton of searches like this:
chrome setup.exe not valid win32
I’m not sure which part of this site they are hitting. Anyway, this is for you.
In my experience “not a valid win32 application” invariably means a corrupt executable. I’d guess that what has happened here is that your web browser did not download the entire setup file, but stopped half way. Internet Explorer is particularly bad in this respect: it tells you that a download is complete, when you can see that it is not because the download size is not what it should be. It usually happens when the connection is poor, either at your end, or because of a busy server. It beats me why browsers don’t make a basic check on the file size after download.
It can also happen with a CD or DVD install, if the disk is corrupt or the drive is failing; or if your hard drive is failing.
The usual solution is to re-download the file.
What happens to the browser market when Google plays the OEM card?
Here’s a bit of speculation. My initial thinking about Google Chrome was that it would mainly take market share from Firefox; and that while IE’s share may continue to erode, Chrome is unlikely to accelerate that much.
I’m beginning to change my mind. One factor is OEM installs. We all know what a huge influence default installs have on users, which is why software vendors are happy to pay the likes of Dell and HP for space on the desktop, or to be the default anti-virus engine, for example. This has often been to the detriment of the user’s experience overall, to the extent that it helped to damage Vista’s reputation, but that is an aside.
Now, one thing I’ve noticed is that Google’s toolbar often turns up by default in OEM installs of Windows. When you start up for the first time (or the first time for real, after all those reboots), IE confronts you with Google’s terms of service. However, I have not yet seen Firefox installed as the default web browser. I’ve presumed that Mozilla doesn’t quite have the financial muscle to do it, or maybe there are other reasons.
Google is a more formidable presence than Mozilla. What if Google buys browser share by being the default browser on machines from the leading OEMs? I suspect that would soon impact IE’s share. Microsoft cannot prevent it because of anti-trust constraints.
Since Chrome is in effect the new Google toolbar, this move strikes me as inevitable.
This would mainly impact the consumer and small business space. IE has some special advantages for enterprises, since it hooks in tightly to Microsoft’s software management tools, and there are further improvements to this aspect in IE8. The consumer/business separation is a leaky one so it could still have a big impact.
Chrome browser memory usage: a good start
If you go to the special url about:memory in Google Chrome, you get a summary of memory usage in all your running browsers, not just Chrome. I tried the following test:
1. Close all browsers.
2. Reopen all browsers – IE7, Chrome, Firefox, Safari – navigate to bbc.co.uk
3. Open the Chrome memory status page:
There are figures for virtual memory as well; I’ve truncated them to make the image fit better. Chrome is easily the smallest.
Microsoft.com blank in Google Chrome browser history
Google Chrome is available for download. I’ve done it in fact; very smooth install. It looks like the company is serious about getting this widely deployed quickly, despite its beta status – there’s a download link on the Google home page – must be important to break the 28 words rule.
Chrome shows your “most visited” sites as a kind of home page. I was amused to see that Microsoft.com shows up here as blank:
No doubt there is a good technical reason. People used to say “DOS Ain’t Done until Lotus won’t run”; and that was not true either.
Update: Honesty compels me to admit that the Microsoft snapshot eventually filled in. Still, it is not much better:
The problem is that the central Silverlight panel is failing to load; the main site looks like this in Chrome as well. OK, so Silverlight doesn’t support Chrome. But Microsoft no doubt has something better than a blank panel for incompatible browsers. Was it warned in advance about the advent of Chrome? Was anyone? I know this is WebKit and that what works in Safari should work here; but we all know that browser compatibility is complex. Still, it is entertaining.
Further update: It looks the same in Safari on Windows! I should explain that there is some more stuff to the right and below the empty panel; but the empty sky background occupies the main part of the page.
To get the full picture, I visited the page with FireFox on Linux:
This looks better, but it’s a tease. It has a link to download Silverlight; if you follow it, it eventually reveals that your browser or operating system is unsupported. Sloppy Microsoft; Google exonerated.
More on Chrome soon, no doubt.
The new Google Chrome browser: a bad day for Firefox
The Firefox angle is what puzzles me about Google’s announcement that it is is launching a new open source browser. We should get to try it tomorrow; perhaps we’ll see that Google is successfully reinventing the browser. In particular, this is a part of what is sometimes dubbed the Google OS: the client for cloud applications running on Google’s servers:
Under the hood, we were able to build the foundation of a browser that runs today’s complex web applications much better.
Google is using some proven technology in the form of the Webkit rendering component (as used in Apple’s Safari). I imagine it can do a decent job. But why? From Google’s perspective, the browser market was shaping up nicely already. Microsoft’s IE has a still large but declining market share; Mozilla Firefox is growing, has a vibrant community, and relies on Google for the bulk of its income in return for making it the default search engine – a deal which has just been extended for three years.
Now Google appears to be going head-to-head against Firefox. It won’t necessarily succeed; Firefox has lots of momentum and will be hard to shift. Equally, I doubt that Microsoft’s market share will decline significantly faster against a Google browser than it would anyway against Firefox.
The risk is that this will split the open source community.
As for Firefox, this can only be bad news. It has the embarrassment of relying on a major competitor for its income, and the knowledge that it is driving traffic to a company that will push users to switch to an alternative.
Maybe Google Chrome is so good that it will all make sense when we get to try it. For sure, it is an intriguing development for web applications and I’m looking forward to seeing how well Google can substantiate its claims that it is “much better” for the job of running them.