Saturday, January 15, 2005

Re: Did Microsoft lose the API war ?

See this screenshot of Google Desktop in action. Notice the address bar. Thats what tells me a local web server is started on port 4664. Also since results are shown in a web browser, html has to be puked from somewhere. Any of you guys have other info/ideas?

You're right. I googled "Google Desktop search" and the first few articles mention that it does indeed have a local web server. Dyou think a web server is needed just because they are trying to present the results in the Google Web Search like interface i.e within the browser, using html? As in, since everything is being done locally on your machine, it would seem like they don't HAVE to take that approach.

Mohn mentioned a whole plethora of protocols enabled in IE. How many are supported my major browsers, and how many are standards. Coz co's will not use IE only functionality within their sites/web-apps (hopefully not in the next gen apps).

All these (DHTML, CSS, (X)DOM, XML, XSL) are W3C standards. As far as I know, IE was the first to support XML, XSL and (X)DOM within the browser. Also Netscape 4's DHTML, CSS and DOM support was pathetic compared to IE4. Only with Mozilla and now Firefox, have they caught up and surpassed support for these standards.

Of the others I mentioned (Iframes, DHTML behaviors, XML data islands and XMLHttpRequest), I only know for sure that Iframes has become a standard. The others I haven't checked, but XML data islands and XMLHttpRequest functionality is there in Firefox (and soon to be in Opera, I believe).

A thing that needs to be said is that the W3C puts out standards and expects the browsers to support them. But the browsers themselves come out with innovative features. Slowly, the other browser will see that it is a great feature and support it. Eventually it becomes a standard. This was the case with Iframes. IE3 (maybe 4) came up with it, the others added it and eventually it became a standard. DHTML behaviors is an amazing concept. It enables you to create componentized scripts and apply them to elements on a page similar to a CSS class. IE5 introduced it. Unfortunately, it hasn't been standardized and I don't think Opera/Firefox support it.

Anyway, the point was that, IE4 completely overshadowed Netscape4. Then Netscape was open sourced. During that time MS came out with IE5 and 5.5 with even newer/better features for "rich" functionality. Yeah, they weren't standards, but they were useful. So a lot of people started developing higher end features for IE and more basic features to handle Netscape.

Do any of you know how Gmail works internally? We had this prof who told us a bit. Like server farms are maintained. And each email is saved in three locations on diff servers. Mohn - You think Gmail uses DHtml? Tried to analyse the source? Any info on the working of Google actually?

They have a LOT of data redundancy to counter failure. Not only for gmail but also for their search. I mean they index ~8 billion pages. For that they need a LOT of servers (I read somewhere it might be something like 100K+ servers). Check out The magic that makes Google tick. He's talking about search specifically, but I would think that everything he says would apply to gmail as well.

Regarding the client. Yup, it's a lot of dhtml. Have you viewed the source? They've gone out of their way to hide it. Anyway, check out "About the Gmail engine and protocol" on this page at the very bottom. It explains some basic stuff.

Any idea on the gaming front? MS is releasing a new XNA platform or something that unifies dev.

Haven't heard about XNA. On the gaming front, MS is losing money on every XBOX they sell. They sell the hardware at a loss. They make money through games. So the more developers you get to publish on your console the better. That's why PS2 is the leader. Sony gets everyone to make games for them. MS, for a new guy, has done a decent job. Nintendo seems to be losing out the most.

Dinesh has an iPod Mini. You can dump mp3 songs (read illegally dloaded) onto it. I am not sure if they are converted to AAC on the way. Don't think so coz the transfer was really really fast. As fast as it seems possible in Usb 2.0. Never tried retrieving the mp3's back again. Maybe iTunes songs are in AAC format.

Yeah, I checked their site. They support MP3 in addition to AAC. But iTunes only sells in AAC format. The point is that they still prefer their own format and a lot of people aren't happy about it. And I still think iPod is way overpriced. $400 for 40 gig hddrive, small cpu, sound chip and some control features? It will be hard for others to topple them, but the price will definitely come down.

Apple released some cool products recently. The mini Mac and iPod shuffle. Sure would want to own some apple product some day.

Around this time every year at MacWorld they come out with all the cool products. But after the hype, nothing much changes in the big(ger) picture. As in, they still cater to a niche community. Don't get me wrong, their products look fantastic, but they are generally very expensive and don't seem to "play well" with others.

I think as discussed earlier, by forward compatibilty they mean that no new bytecodes were added to the language. The syntax has changed, but it is optional in Java 5.0 and is just a wrapper for doing the old things in a new way. The core language remains same. Had they added Generics without erasure, there would have been a break in compatibility. There is no way in which I can run 5.0 code on a <5.0 VM as the lib's will simply not be present.

So, all old java code will work on the newer 1.5 jvm. New java code, developed with generics and newer types won't work on pre 1.5 jvms. This is exactly the case with .NET. I don't see any reason why you can't add NEW bytecodes. Don't change any existing bytecodes. How would there be a break in compatibility?

Which features of ASP.NET? Lots of dev stuff is going on with Jsp and related web tech in Java. Some advanced UI rendering libs are being built like Jsf though I am not sure thats a good defn. But by itself the Web Platform is very mature with loads of really advanced features. If I am right ASP was a joke comparatively.

Basically, you can do everything in ASP that you can with ASP.NET, but it was a mess to code, debugging was a nightmare and it was based on COM which was torture. ASP.NET has made the development experience much better. I don't know anything about the web tech in Java, but from what I've read, it seems similar to ASP i.e. complicated. Can Rahul provide some details about what's required to develop a dynamic site using Java tech? Is JSP enough or dyou need other thing like JSF, Struts, Servlets, EJBs etc...?

Also could Mohn provide some info on Web Services later some day? Are Java and .NET webservices compatible today? Longhorn wants to focuss majorly on Web Services. That should be slightly worse than the Web strategy.

Web Services is a standard that comprisis of UDDI (Directory), WSDL (spec) and SOAP (protocol). Any platform that supports web services will definitely be compatible because they will agree on these three things. That's the whole point. If you expose a web service using Java, I will be able to invoke it using .NET and vice versa. I posted a link to an article (Objects, Components and Web Services) recently. The objects and components will be platform dependent. The web services are environment neutral.

One of the "pillars" they have mentioned for Longhorn is "Indigo" which is the communications area. This seems to focus on web services and making it easy to use them. Dunno much details about it though.

No comments: