MS Expression is no Dreamweaver
[digg=http://digg.com/microsoft/MS_Expression_is_no_Dreamweaver_competitor]
I love using Dreamweaver, it's one of the few applications which I have installed in a virtual machine run on my notebook. Unfortunately there is no open source webdesign IDE which comes close to it. The strengths of Dreamweaver are obvious to me: Its not biased to any specific technology it has near complete support for all major server side scripting languages, code collapse, easy CSS layout visualization, great GUI form creator etc.
Expression has most of these things aswell, however it is a product which is biased towards Microsoft technologies, not just biased it doesn't support anything else. The interface is completely revamped (compared to Frontpage), however most of the functionality remains the same, to me Expression is like:
Expression = Frontpage - Frontage (Server) Extensions + ASP.NET 2.0 support + Office 2007 interface (not completely though, it doesn't have any of those new toolbars)
The Interface looks great,
Expression seems to have "Preview in Firefox" support
So will Expression take over Windows web development? No. A lot web development is not done in ASP.NET, have a look at these stats here, php has been running tens of millions of domains deployed in more than a million servers, I can't find up to date ASP.NET statistics, but last time I checked it was not even more than 100,000. So MS is leaving out a huge chunk of web professionals, and Expression is supposed to target Web design professionals? Some people have complained that Expression is a Windows only tool, and a lot of web developers use Mac! I don't think that this is a valid complaint anymore, virtualization has really taken off now, and it doesnt matter if an application is developed for a specific OS, because all can run it. I use openSuse 10.2 as my primary OS, however while in Linux I make use of Office 2007, Dreamweaver etc.
Microsoft has tried to improve Dreamweaver and Expression interoperability. Expression can directly work with DWT templates. Maybe Microsoft is pulling the same trick, Joel Spolsky, ones blogged about adapted by the Excel team to eliminate barriers of entry by allowing seamless interoperability between both leading web development IDEs.
So in conclusion, I can't see any Dreamweaver to Expression migrations any time in the future as nothing genuine is being offered, only those developers who had been using Frontpage (those drones of MS certified people who don't know any alternative technology) will upgrade because Expression is a replacement for Frontpage. However don't write Expression off yet! Microsoft's strategy for software product has always been for the long haul! Launch mediocre products, and then improve them over time until they beat the incumbent leader. Word was no match for WordPerfect, however with gradual improvements over time, WordPerfect is virtually unknown nowadays!
Adobe Flex 2 is a Real Winner!
[digg=http://digg.com/tech_news/3_Reasons_why_Flex2_is_a_winner]Since the last week I've been getting my feet wet with Flex 2, a programmatic way to create Flash applications. And I'm thoroughly impressed by it! It's a promising Web 2.0 technology which has to potential to take your web experience to the next level. Flex 2 applications, because they are made in flash, are faster than equivalent AJAX applications while providing a richer, more desktop like, GUI. For example I'm not impressed by Google Docs, which is very slow compared to a desktop application but have a look at Gliffy, a promising MS Visio alternative of which I've been making increasing use of in the last few days. As is the custom nowadays, these are my top reasons why I think Flex 2 is a winner:
- Its EASY: Flex2 application have a very simple model: The application, including the GUI, are defined in standards compliant XML format (MXML), the application logic is defined in ActionScript 3.0, a language which is similar to Javascript but object oriented. You can relate this to AJAX applications, where the GUI is defined in HTML and the application logic is in Javascript, however Flex2 applications contain gui controls which are not found in HTML, and with the help of the Flex2 Builder, which is an IDE based on Eclipse, building Flex 2 applications is very easy and you can create a more richer interface experience.
- Its Extensible: Flex2 doesn't do everything, for example it can not connect to data services directly, rather you have to set up a data provider source which provides data in XML format for Flex2 applications to use. Flex2 supports various mechanism to communicate with other frameworks, it supports RPC for example, and it is very simple to link php with Flex2, so one can get a powerful backend in php, with an appealing GUI in Flex2.
- There are no cross-platform/browser issues: AJAX would be the best model if all browsers supported the same javascript or everyone would be using the same browser and you could never disable javascript. There are varying levels of support for DHTML and JavaScript in different browsers on different platform. With Flex2 applications you don't have this problem. You can get the latest Flash player from a single source, supporting a single API. The Flash Player runs on multiple platforms, which means (borrowing the standard Java phrase): Write once, run everywhere.
However there are some drawbacks to Flex2 aswell, Flex2 Builder is proprietary and not cheap (Its way more cheaper than it previously used to be), where as majority of AJAX frameworks are open source. However you can still develop Flex2 application for free by making use of the free Flex2 SDK
Having raved about Flex2, I dont think deploying flex2 for all types of web application is a good idea. I love to use AJAX enabled web application such as Google Maps and GMail, however I hate to use AJAX based desktop-type applications such as Google Docs. I think Flex2 is viable only for the development of desktop like applications for the web.
Google Apps will never replace MS Office
[digg=http://digg.com/tech_news/Google_Apps_will_never_replace_Ms_Office]
At least for me! And with MS Office I mean any desktop office software ie. OpenOffice.org
Why do I say this? Precisely because I find Google Apps to be completely useless for me. I tried to compile an article on it to check its functionality, I find numerous problems:
- Docs is just like some formatting toolbar with a huge text box, and it is extremely dificult to navigate in lengthy documents, whereas desktop office software you can easily switch between pages, this limits productivity.
- I mostly write articles/papers which are peer reviewed by my friends who highlight and comment on portions of text. You can't do that in Google Apps, although you can add comments, but they are inserted inline to the text, which can be confusing. In MS Office comments, and changes are shown in a sidebar. I also see that footnotes are missing.
- Google Apps is slow compared to desktop software. There are numerous other web application such as Gliffy, which is a charting and diagramming software in Flex, which for me can replace MS Visio easily, and the response is good aswell.
- Because its webbased there are numerous distractions, one may get an instant message notification, a new mail, check a slashdot/reddit/digg out etc, and what happens when the internet when the internet is disconnected, or my google account gets hacked, Google Apps I believe will be a hot target for h/crackers.
- Google Docs is awful for formatting, like the one required for research publications. I tried formatting according to IEEE 2 column format, and it was hell!
Google Apps as it stands now is far from replacing anything. Its excellent for blog posts like this and short articles or 'to-do' lists, however its not a serious danger to any of the desktop office software, and they are to remain for a loooong time.
SEOQuake: The Ultimate SEO Firefox Extension
[digg=http://digg.com/tech_news/SEOQuake_The_Ultimate_SEO_Firefox_Extension]
I was looking at new Firefox extensions, and I found this great extension.
SEOQuake integrates into the browser and modifies your search results, so that it contains useful SEO information. For example look at this screenshot:
SEOQuake shows page ranks, incoming links, on all three major search engines aswell as Alexa rank, the age of the website and links on del.icio.us. Additonally you can sort your search results according to the parameters, and store the results to a file. SEOQuake is not just limited to the search results, you can view stats about sites you are visiting aswell, for example here:
Of course you can close the bar if you want to. SEOQuake can be customized to display additional information such as Digg index, technorati rnaking, Yandex index, baidu index etc. basically all the informatio a SEO expert would want to know about any site.
Comparison of Virtual Machine emulators/Hypervisors
Virtualization has really become important during the last few years. It is used for server consolidation, software testing, operating system research, and increasingly, because of the near native performances of the recent virtual machine hypervisors, to integrating operarting systems in a manner that the one which offers best applications for a specific scenario. I for example, use openSUSE 10.2 Linux on my notebook, however sometimes I require MS Office (No disrespect to OpenOffice, OpenOffice is great, and is very funtional but I really love the interface of Office 2007 and makes me feel more productive), thats why I turn my virtual machine of windows on and do my work on it. The software I use is VMware, which is a very user friendly virtual machine software and it also provides near native performance to guest operating systems.
So what solutions for virtualization exist for Linux? I found this mega list in Wikipedia which provides an unscientific comparison between virtual machines. Unscientific because it uses terms such as "Performance is 'near' native", I would like to see benchmarks.
Get the comparison here
How to write Firefox Extensions
I came across this wonderful site which describes how to create firefox extensions.


