Tuesday, July 05, 2005
by Nik Kalyani
Tuesday, July 05, 2005 6:42:52 PM (Pacific Standard Time, UTC-08:00)

Now that I have made significant progress in my WebDAV server API implementation, I can post some details.

My goal is to create an API that faithfully implements RFC2518. This RFC outlines the Http/1.1 Extensions that constitute the WebDAV protocol. There are two levels: Level 1, general WebDAV support, and Level 2, locking support. I plan on supporting both levels, but for the 0.xx release will release with Level 1 support only.

I have designed the API so any developer who knows how to code with a .Net language can use the API. Zero knowledge of WebDAV is required. To use the API, a developer would need to:

1) Reference the API assembly from her/his class project.

2) Provide an implementation of abstract classes WebDAVCollection and WebDAVItem. Basically, you have to map your data store collections and items so that when the API requests a collection or an item, it gets one.

3) Provide an implementation of abstract WebDAVAuthentication class.

To put it in use, you have to:

1) Configure IIS to support file extension .davx and have it respond to all verbs (the extension is irrelevant; if you want, you can have it be .foobar, as long as it responds to all verbs).

2) Add a line similar to the following in your web.config:
<add verb="*" path="MyFiles.davx" type="MyCompany.WebDAV, MyCompany.WebDAV" />

3) Create a file with the name used in #2 (i.e. MyFiles.davx). This file can be empty.

With this in place, Windows or Mac clients can natively map a drive letter using http://yourserver/MyFiles.davx as the path. Alternately, they can directly open a resource as a file from applications such as Word, Excel, HomeSite etc.

I have designed the API so each unique data store type on the server, would have an end-point ({something}.davx) and a line in the web.config.

For example, a handler such as DotNetNukeHTML.davx could be placed in the root of a DotNetNuke portal. A user on a Windows or Mac platform could then map a drive letter using http://yourserver/DotNetNukeHTML.davx/NNN where NNN is the DotNetNuke Portal ID. The user would then see a folder structure where each folder corresponds to a DotNetNuke tab. Within each folder are files corresponding to DotNetNuke module instances. Initially I plan on supporting only the HTML and NukeHTML modules so you would only see files for each instance of these modules. You could then open any of the files using Word, HomeSite or any other HTML Editor and edit the file and save it back. Of course, you can also create a new file which will result in a new module instance being added to the page.

This will basically eliminate the need to use a browser-based editor to create/modify portal content. Just use any rich Windows or Mac editors at your disposal.

This is one example. Using the API, you could also allow full file management on the web server, view a mailbox as a collection of EML files, open up a database table in Excel, there is really no limit to the possibilities. As long as you can figure out a way to present your data (any format) as a data stream that represents the file content expected by a WebDAV-enabled desktop app, you can enable native WebDAV access to your app.

Here's an illustration that gives an overview of how things will work:

WebDAVAPI

 Monday, July 04, 2005
by Nik Kalyani
Monday, July 04, 2005 7:14:19 PM (Pacific Standard Time, UTC-08:00)

Today was my first Independence Day as an American citizen, as it was for my daughter who was born last December. We joined more than half a million other people to catch the amazing fireworks display on the National Mall. Quite spectacular.

Happy Birthday America!

July4

#    Comments [1] - Trackback    

 Wednesday, June 29, 2005
by Nik Kalyani
Wednesday, June 29, 2005 10:39:45 AM (Pacific Standard Time, UTC-08:00)

So I fired up Google Earth Plus today to see if any new cities have been imaged. I was greeted by this dialog:

Geerror

I am not sure where to begin. There is so much wrong with this dialog from a usability standpoint that I am amazed it made it into the build:

1) Language: "The version of Google Earth Plus you are running needs to be upgraded now." Yeah, who says? What klutz penned this little gem. Since when do developers get to demand upgrades. Sad.

2) Download: "Please download the new installer from http://www.keyholde.com/downloads/GoogleEarthPlus.exe." OK, 10 pts. to whoever can spot the usability snafu here. Give up? Hello...this is the web...don't give me a URL...give me a link or a button.

3) Feedback: "If you have any trouble with the upgrade or have beta feedback, please send it to kh_beta@google.com" Indeed I will send a link to this blog entry. Same deal...world wide web and all...where's the link or button

4) Sign up!: Ouch! This is the saddest thing I see over and over again. I get emails/snail mail from companies wanting me to buy their product or sign up for their service. Get with the program, ye people of the idiot brigade. I am already a customer. If you can index the web and all the library content of the world, how difficult is it for you to figure out that I am a paying subscriber. Sad. Sad. Sad.

5) Overall: Someone at Google has not been alert. For at least the past 4-5 years, even the humblest of shareware apps have the ability to automatically fetch updates on-demand and usually unattended. Get with the program guys.

So, in typical fashion, what was to have been a 10-min interlude, turned out into a negative customer experience.

OK, now five minutes later, the download and update are done, and guess what...you got it...the stupid program wants me to restart my computer.

Earth to Google -- Any intelligent life there that understands how to write good software? I was quite excited about Google Earth initially, but this kind of crap is a serious turn-off.

#    Comments [0] - Trackback    

 Sunday, June 26, 2005
by Nik Kalyani
Sunday, June 26, 2005 9:22:44 AM (Pacific Standard Time, UTC-08:00)

Word on the street is that Google is going to have an online payment service. Since the company incorporated Google Payment Corp. in Delaware, there is a good chance this is not a wild rumor. I, for one, welcome a competitor to PayPal. Although I have been a customer since inception, I am getting a little tired of their strong-arm tactics. Many PayPal users (myself included) have had to battle with the company for everything from arbitrary limitations on accounts to dealing with clueless customer service people.

Although PayPal does a good job of customer acquisition and developer support, it has grown too fast and in the process has forgotten that it exists because of its customers. Every occasion that I have been on the phone with PayPal customer service, I have felt less valued as a customer.

Bring it on Google -- I'm ready to switch.

 

#    Comments [0] - Trackback    

 Saturday, June 25, 2005
by Nik Kalyani
Saturday, June 25, 2005 7:47:56 AM (Pacific Standard Time, UTC-08:00)

Just days after I blogged about RSS being better for newsletters, I am pleased to note that Microsoft has announced broad support and integration of RSS in Longhorn. Feels good to know I am on the right track.

#    Comments [0] - Trackback    

RSS feed
Search and Links
Bling

View Nik Kalyani's profile on LinkedIn

Contact me: nik*kalyani.com (replace "*")

TechBubble
www.flickr.com
This is a Flickr badge showing public photos from techbubble. Make your own badge here.
Statistics
Total Posts: 214
This Year: 32
This Month: 0
This Week: 0
Comments: 238
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2008
Nik Kalyani
Sign In
All Content © 2008, Nik Kalyani