Archive for May, 2006

31May.NET User group meeting tonight

Tonight we had a user group meeting on XForms.

First let me tell you that I think it is a big shame that we don’t get Xforms capabilities in IE6 or in IE7.
It would get rid of all the javascript hassle and hoops we have to go through to get the simplest things done.

Anyway, I’ve been working with atlas a bit more now. And it is really cool just a shame that i can’t use other libraries in conjunction.  But I still have to explore the animation api maybe if i can do things that i consider cool enough I don’t need other libraries any more.

Back to the user group meeting. Peter Nunn, the driving force behind a .NET XSP server application, came to give us a very passionate explanation on how xforms work and how they implemented them.
The effect you get is very similar to what I’m doing with ATLAS for the moment. Async pages that just get data from webservices, some might even call it SOA.
Where ATLAS gets cluttered combining 3 technologies in one page, Xforms does everything completely through xml. More clean… yes sir, more reusable .. yes sir, easily queriable.. yes sir.

Conclusion : we want more of where that came from but this time on every platform. Just once everybody should agree.. would make the life of a lot of developpers a lot easier :)   Would probably put a lot of people out of business too.

Would i use it ?  In the case where i develop for intranet applications i might be tempted to do so. As for my applications for uncontrolled environments (the internet) no thank you.
Xforms is only supported in firefox and while everybody is telling you how great mozilla is, my stats still show over 90% of my visitors use internet explorer. That being said, people trust plug-ins that are widely accepted like the flash plug-in. But people don’t tend to trust obscure plug-ins from sourceforge, or other unknown companies in my experience.

So I’ll continue the ATLAS path that I chose to take until there is  cross browser XFORMS solution that has penetrated deeply enough in peoples living rooms.

 

30MayVista Beta 2 has to go :-(((

The company that hosts one of the servers that I use online is using OpenVPN as their vpn server.

And there are no drivers available voor the enhanced security model of Windows vista.  Yep let’s call it enhanced security model instead of f***** security dialog boxes that pop up whenever you want to do something that is not an installed program on your pc.
I am loving vista absolutely so I’m not uninstalling because I don’t think it works.

I just think that in my case it is too early to make the move untill openvpn has support for vista in their range. Otherwise I can’t connect to my online sql server and server which makes my life at lot more stress free but eventually their would be less money coming in :)

 

 

29MayWeird vista stuff

Apart from the fact that my bluetooth headset won’t work with vista. I do have a few other things that keep my mind busy.

I think it sucks I can’t debug my asp.net apps when they are hosted on a UNC share. (this behavior was already present in XP)

If you are like me then you rarely turn off your pc and have it do a lot of stuff for maintenance during the night. This would be nighthly spyware checking, nightly virus scanning and defragmenting on certain days of the month.
Well if I leave my pc on during the night with a IE window open and outlook my internet is sluggish up to the point that I just gave up.  I had a look on other pc’s on my network and internet was indeed working fine. So I restarted my vista box and yes sir we have somewhat fast internet again.

Anyway i still can’t find anything wrong with office 2007 ==> probably because I don’t look for stuff to be wrong.  And I do like new Outlook interface with the new sidebar on the right. Keeps me better informed :)

Mauricio has a few more things to say on vista, and probably he will be a better source for information than I am.

http://www.geekzone.co.nz/blogtrack.asp?postid=597

 

28MayVista : a first glance

I installed vista on my laptop yesterday.

And the whole install is very hands-off and painless the price you pay is that it takes ages to complete. But it did install and upgrade my windows XP machine.

After booting my new system twice I grabbed the phone and ordered 2GB of extra memory because before vista i was already pushing it so now it’s just a necessity to get it.

Vista works surprisingly well, it’s a shame though that I still can’t debug my asp.net applications when they are hosted on a network share instead of on my pc.  Sure i can remotely debug them but that experience is not as nice as locally. I do put everything on a network share because of backups. If you ever get your laptop stolen with a few weeks worth of work on them without a backup you’ll never let it happen again

My favourite new feature would be the navigation in explorer over the folders. and the way you can quickly backtrack your path etc.

My least favourite new feature would be the never ending security warnings. If I say unblock on a program that wants to access my firewall then I mean it and I don’t need to be asked 3 times. you don’t read them but it kind of sucks that it freezes your screen.

All the animations are really cool :) but due to my ram limitation for the moment they aren’t as fluent as could be. I hope the Dell people will be quick to send me my new mem.

I don’t really know what to say about office because i rarely use it. I do use Outlook a lot, Word I also use but all the other programs are wasted on me because I just don’t need them. Once or twice a year somebody sends me an access database. This database gets turned into sql very quickly ;) .

But that toolbar thingy in word : VERY cool and accessible :D

I’m a happy emailer

 

28MayWebstock was great !

Last week on thursday and friday, I attended the webstock convention.

The greatest thing about webstock for me personally was that I got to meet all these people that I ordinarily never would meet.

I considered myself very lucky when i got to have dinner with Douglas Bowman. I do feel somewhat ashamed for the stupid questions I asked him.
I also got to have a chat with Kelly Goto, who came to enlighten us about ethnographics and their huge impact on how websites are perceived.

As if that wasn’t enough I also came across Tony Chor who is responsible for the IE blog and Team, he was accompanied by Grandhi another big guy. Both very pleasant gentlemen indeed.

Now back to webstock, what did I personally take from that whole experience.

Accessibility isn’t to be neglected and should be right up there with Usability
All those people came a very long way to make these points very clear and to make us, designers and developers alike, very aware of that the web is more and more turning into an integral part of social life. And has changed social life as we knew it a few years ago completely.  I still remember the days very vividly that I needed to phone my friend on his landline to confirm that he was home or to talk to him.
If he wasn’t home too bad, better luck next time…

Sitting there gave me a few good ideas for websites that i can build in a reasonable amount of time.

Yes I met a whole bunch of people, that I liked as much as the aformentioned people but they didn’t stand up on the stage to fill peoples brains with fresh ideas and views.

27MayScript# : Nikhil does it again

Nikhil Kothari must be one of my favourite programmers on the whole world. Beside having learned a lot from his blog posts and book. He also develops these great little tools that really help my life as a developer.

This time he wrote a utility called Script# which let’s you code normal c# code, not everything is supported yet but in Nikhil I trust ;) and translates it to javascript without all the hassle of writing javascript.

I like the possibilities of javascript a lot but hate the whole scripting experience :)

Anyway here’s the link : http://www.nikhilk.net/ScriptSharpIntro.aspx

22MayATLAS continued : Get the freetextbox going.

I decided after working a bit more with ATLAS that the client-side needs a LOT more documentation. Some cooperation with other javascript libraries would also be nice. 
A properly working dataservice is lacking.

I’ve turned back to the server side controls.  The start of this whole mission was to keep the freetextbox control on a page and still don’t have full postbacks.  Upload pictures with progressbar was going to be a plus.

How to upload files from within an update panel is something that I will come back to in the future but it isn’t going to be pretty.

The things I’m about to write I will wrap in a control later (when I have time) for people to download

Anyways you wrap your freetextbox in an Iframe and it works. Don’t add a scriptmanager to your iframe page.

Put a hiddenfield on your main page and in the ClientSideTextChanged event of the freetextbox control you update the hiddenfield on the parent.  If you wrap it inside a control then I suggest you add a property to the control that holds the Text variable :)

That’s about it, easy isn’t it.

20MayIntellisense for Atlas Xml Script

I’ve come across a french guy’s blog who has created an intellisens xsd generator for the atlas framework.

He says it’s not perfect but I’ll take whatever I can get that saves me from writing full words. It’s not perfect in the sense that it doesn’t show you if something is allowed there or not.

The link to the article about the intellisense generator:
http://blogs.developpeur.org/cyril/archive/2006/04/19/Intellisense_pour_Atlas_c_est_possible_generation_schema_xsd_en_javascript.aspx

To install the xsd just extract this file to C:\Program Files\Microsoft Visual Studio 8\Xml\Schemas

The next step is to separate the xml script from your aspx page so it doesn’t look so cluttered anymore. Also the intellisense will only work in the xml editor.  The same guy has written another post on how to do just that.

The link to his article : http://blogs.developpeur.org/cyril/archive/2006/04/29/Atlas_Charge_un_fichier_xml_script_externe_dans_une_application_ATLAS_grace_a_Ajax.aspx

The english explanation :
link to your atlas xml file like this : <link type=”text/xml-script” href=”DynamicLoad.atlas” />

And next add some javascript to the page :

Sys.Application.load.add(function(){
     var linkElements = document.getElementsByTagName(‘link’
);
     
     for (var i = 0; i < linkElements.length; i++){
           
linkElement = linkElements[i]; 
           
if (linkElement.type= ‘text/xml-script’ && linkElement.href){
                  
var request = new Sys.Net.WebRequest();
                  
request.set_url(linkElement.href);
                  
request.completed.add(function(e){
                       
Sys.MarkupParser.processDocumentScripts(Sys.Application.getMarkupContext(), e.get_xml().childNodes, null);
                 
});   
                 
request.invoke(); 

          
}
     }

});

20MayA .NET IM VOIP client

http://synced0.blogspot.com/2006/03/intro-to-nexxia-messenger.html

20MayATLAS cracked the nut

Ever since i knew about the ATLAS framework it intrigued me because it offers a lot of the features that made me avoid javascript in the past.  The issues that kept me from using javascript are well known to everybody who wrote 7 lines of javascript. Basically it comes down to browser differences in understanding javascript and the differences in the DOM implementation for the two.

Then there was Ajax.NET very nice but a lot of extra programming is involved to get minor ajaxy effects. and still the browser incompatibility.

Actually I wasn’t looking for an ajax framework I wanted  the whole deal. And I stumbled upon ATLAS like many others have of course.  I had been using ajax in intranet applications through the magixajax panel, which still has at least one feature that the update panel from atlas doesn’t have : the ability of a button to cause a regular postback from inside a panel.  It can be implemented in atlas by using a clientside control and have that cause a postback when it’s clicked.

Then Tim Haines told me about the Anthem library. A library of controls that add instant ajax abilities to numerous familiar controls.  The library works well but i found it hard to debug hence it slowed me down a lot. I am not using Anthem anymore.

The atlas framework was exactly what i wanted: extensible, cross-browser and shiny :)
The entry into the atlas world was definitely not the easiest one ever.  It started out with the updatepanels and the server side controls along with the AtlasControlToolkit. And from seeing how things worked in the control toolkit.
The updatepanel is a great tool for enhancing existing apps with instant ajax abilities, that much is certain. A downside I found with the updatepanel was the fact that the response you get back from the server is the full html version for your page and some added lines.  Not really a bandwith saver I would say. Accompanied with the fact that you can’t put a freetextbox inside an updatepanel nor a file upload control made it a close but no cigar kinda tool.  The data exchange is what bugged me the most because more data means slower pages etc…

The next step presented itself, get using webservices and do the processing client-side. Cool let’s take a look at the samples from the documentation. Aha a data service that sounds interesting. Ooops wait a minute xml script. So it took me a some time to get over the fact that it is xml script and to be convinced xml script does save you from writing tons of lines in javascript. Once you get used to the xml script it reads ok and more quickly than javascript.
The dataservice looked very cool.. it takes care of the processing of the datatables returned from my BLL. I tried to get it to work for a very long time but all I could get out of it was that it displays records (that part I had after 5 minutes) but i can’t get it to save my data back to the database (that part cost me 2 days at least). This is through bindings and xml script.  No updating kinda cripples my whole application :(  

A day later i got it working after digging deeper and doing a lot of googling and live searching. I still can’t use the dataservice except for loading data. but I can use regular webmethods to put stuff in the database and use the load method of the dataservice to get the fresh data bound to the listview and itemview controls

So now I can have my somewhat SOA oriented applications and not spend hours trying to resolve browser issues or write thousands lines of javascript to parse my results into the page.

Resources that I found to be very helpful :
http://atlas.asp.net/docs/Client/Browser/jsBrowser.aspx
http://atlas.asp.net/docs/default.aspx
http://atlas.asp.net/docs/Client/default.aspx
http://aspadvice.com/blogs/garbin/archive/2006/03/05/15591.aspx

Javascript transitions and good scripts can also be gotten from script.aculo.us
http://script.aculo.us/

Another problem with an ajax application is that the history button behavour gets broken. Or at least doesn’t work as it is supposed to work. There is a library out there called the Real Simple History Framework that makes that a thing from the past.
A detailed article can be found here :
http://www.onjava.com/pub/a/onjava/2005/10/26/ajax-handling-bookmarks-and-back-button.html?page=1

 


Recent Flickrs

    Blogroll

    Recent Listening

    Scrobbler