September 2008 - Posts
The call for papers for the ASWEC 2009 Conference to be held on the Gold Coast 14-17 April is now open.
This year’s topic is “Agile, the New Mainstream”…
ASWEC provides a recognised forum for exchanging experience and new research results in software engineering, and is designed to offer the opportunity for interaction between software engineering researchers and industry practitioners. To deliver extra value to
participants, ASWEC 2009 will include a program of workshops and tutorials on current topics in software engineering led by experts in their fields.
I’m a great fan of ASWEC. The concept of a conference that is about software engineering and is specifically design to bring industry and research together, without being run by a technology vendor, is quite unique.
See here for details: http://aswec2009.itee.uq.edu.au/
In his keynote for Tech.Ed 2008 in the US Bill Gates made a passing comment that chips aren’t going to be getting any faster any more. Moore’s Law is still working, but rather than processing power increasing linearly as it has until recently, chips will be adding cores instead. There are complex engineering reasons behind this that I don’t really understand but I do understand the implication of this on software development.
These implications are significant and ground-shifting for development, and therefore for architecture. In the past it has been possible to just write code and rely on computers to run that code faster as they get faster. Application not fast enough? Just run it on a faster machine.
Now things are significantly different. Designing applications that run efficiently in a multi-threaded, multi-CPU environment is non-trivial. What may be the most difficult aspect of all for many people though is that it is now necessary to think about how code is architected and written at a lower level. This is a big change for today’s developers who have not really had to be concerned with that in the past. Ironically, those of of that grew up with very slow computers may be the best placed to write code on newer machines as we know how to think about how code runs at the code level.
I believe that there is a link between this trend and the changes in user interface design that I talked about in Part 1 of this series. After all, HTML is not really going to make use of multi-threading is it? Applications that are developed intelligently to make the most use of client capabilities are going to be the best positioned to make use of parallel processing.
Of course Architects and Developers that are working on server applications will be impacted by this trend as well.
I encourage all Developers and Architects to think about design
and development in a parallel-processing environment and how the changes needed to do this fundamentally changes the way we build applications. This means being careful about the design and development of code within classes and components, not just between components.
Update: Note the changes planned for Windows 7 to support this requirement. Posted in Mary-Jo Foley’s blog: http://blogs.zdnet.com/microsoft/?p=1612
Links:
HTML is an excellent technology, and I truly raise my hat to Sir Tim Berners-Lee for inventing it. My suggestion is that by now HTML is no longer suitable as either an application development platform or is optimal an information delivery method in some cases. I’d like to present this theory as the first Architecture Big Bet.
You probably know my views on that I have been talking for some time now about the fact that desktop applications are better for internal applications that are used by users for a significant period of time. Well, the information that I have been posting here and talking about in presentations when I can has been aimed at awakening people to the options and opportunities and while technology has supported the message the widespread adoption has not been. I’ve been yelling into the ether hoping that people would hear and understand. Some have.
A number of factors are aligning to drive significant change in this area though. These are:
- Greater amounts of bandwidth;
- A focus on design thanks to Apple, Vista, mobile phones and other devices, and increasing consumerism;
- Improvements in processing power and graphical capabilities of machines and operating systems; and
- Availability of Silverlight.
I talk about Silverlight because Flash has not been able to achieve the same mindshare as Silverlight has even though it has been technically capable for some years. Also, I see Silverlight as a technology this is driving this trend.
The reason that Microsoft has achieved this state with Silverlight now, and that it will be the killer for user interfaces for all applications, is that:
- It has been developed it from a data-driven application perspective;
- That the interface between design and development is so smooth; and
- It benefits from being the next generation.
Flash was never able to move beyond advertising because it was just that little bit too hard to do things other than graphical work in it.
I see that the future web applications will be increasingly developed with a rich UI such as Silverlight rather than HTML, and in preference to AJAX. This is great, because as well as the driving factors listed above we should realise that coding in script, AJAX, HTML or whatever combination of the above we use is just simply too hard, too expensive and too hard to maintain (even with tool support).
I think that this will be the case for both intranet and Internet content.
This shift obviously results in different architecture models, with greater capabilities on the client, and a greater focus on user interface design than has been the case in the past. It brings with it a focus on entirely different UI design approaches where it is no longer necessary to make applications look like Office (see earlier posts).
So, I suggest that:
- Developers learn Silverlight;
- Architects understand what this means and build processes for design and development accordingly;
- Organisations look to employ designers; and
- Architects, Developers, BA’s and UI designers understand the new UI design paradigms needed.
What do you think?
As an Architect I concentrate less on detail these days and more on fluffy bits, so I get to spend time looking at things that are coming down the pipe and trends and changes in the future. I'm aware that many other Architects are focused differently. There might therefore be some value from me sharing some of the areas that I see changes happening in. In fact, I am finding this whole area extremely exciting at the moment (in a very geeky kind of way).
I have looked at a lot of changes that have occurred over the time in a very cynical way as bring more evolutionary, repackaging of existing technologies or cyclical than anything. Examples of these kinds of changes are AJAX (I did that in the 90's with IE5 - so last century), SOA (just good architectural design on interfaces, and interfaces are nothing new), and Agile (working together on development is something that all good Architects have done forever anyway and now that real standards and management have been added to the common view of Agile it makes sense).
Real changes that I have watched with excitement over the time have been: HTML, XML (when XML first appeared in the 90's I thought it would change the face of IT, which it has), Web Services (because the bar was finally lowered for cross-platform and cross-technology communications).
Now, I am really excited about the changes that are brewing or appearing. There are, as far as I can see, a few big things with XML-like ramifications that are either here but haven't really been noticed or are quietly evolving just over the horizon, that will reshape the industry. Over the next few days I'm going to talk to introduce them here, along with why I think they'll be big. I encourage the very quiet readers of this blog to then join in for a change and discuss.
Technorati Tags:
Architecture,
future
So Tech.Ed is over for another year. No matter what I might be doing and where I might be heading I still have a very close affinity with technology (I'm still very much a geek at heart, and even my mug says so!) and so as much as Tech.Ed is busy and tiring for a speaker there is still some sadness when it is over.
I think Tech.Ed was a success overall and I was very happy to see that my session was well received even though (or perhaps even because) it was not a deeply technical session. I'm actually rating quite well at the moment and there has been lots of positive feedback, despite the fact that, umm, apparently I say ummm too much. Oh, and I was too serious. Right on both counts. More rehearsing needed next time. For those of you that went but haven't filled in your feedback yet please login to Commnet and do so. The feedback does help enormously.
I have attached the slides to this post. If you would like the presentation given to your organisation and you are located in Australia please register an interest in this through Object's Web Site and I'll be happy to come and present in person. 