Wednesday, July 13, 2005
by Nik Kalyani
Wednesday, July 13, 2005 2:47:39 PM (Pacific Standard Time, UTC-08:00)

My daughter just hit the seven-month mark and it's time to activate her tech genes. So I am building her a complete learning system. Ideally, I would buy all this stuff, but seeing that I make a living selling DotNetNuke modules, this is currently not an option. Besides, the geek in me could never handle plug-and-play electronics. If it doesn't require taking the top off a dozen times and Googling for hours to find a driver, it probably has a low coolness factor and has limited appeal.

Anyway, the intended use of the system is to allow my kid to experience two kinds of multimedia content:

1) All the stuff from our UpToTen premium membership (which by the way, is amazing!!!)

2) Custom content I will create to give her a firm grasp of English, Spanish, Hindi, Gujarati and Kannada languages, plus world culture with emphasis on U.S. and Indian cultures.

Since I have settled on the UpToTen content, I went ahead and acquired the Berchet Baby Keyboard overlay.

I also purchased a Logitech Cordless Keyboard, but discovered post-purchase that it has a non-standard navigation key layout. So it now goes into the back of a closet, and I have to acquire another wireless keyboard for attaching the Berchet keyboard overlay.

I already have a 250Gb USB2 external drive with around 50Gb of music and another 100Gb or so of my favorite DVD's, so that will suffice for the BES. If I can make the BES sufficiently flexible, it can do double-duty as an AES (Adult Entertainment System) also. In which case it makes sense to consolidate all the media onto one drive.

I have struggled with whether to get a Mac-mini or build a Media Center PC, and I am currently leaning toward the Media Center PC, mostly because I can leverage hardware I already have (Hauppauge WinTV USB tuner+fm+dvr for example).

So, I need to acquire:

a) All the pieces I don't already have to build a Media Center PC (small form-factor case, motherboard w/ audio, CPU, memory, video card, small HD for OS, MC remote control, wi-fi card). This is easy and I think I can get it done for less than $300. I have found a few options and just need to make a decision.

b) Either a decent projector or a plasma TV. This is a dilemma. I'm going to have to figure out where I can get something that's affordable. I did some preliminary Googling, but haven't found anything that looks appealing yet (i.e. it's way outside my meager budget). Most products are geared towards businesses or home theater enthusiasts so the prices are fairly outlandish. I need something without a lot of bells and whistles, but which is functional for basic multimedia content. If anyone has ideas/suggestions, I am all ears. (Will trade software development/marketing consulting for plasma TV...hehe)

My vision is to sit on the couch with baby on lap (or baby in high-chair) with wireless Berchet-overlaid keyboard to view content so she can watch/listen/learn comfortably. I will release any content I produce to the public for free so other interested parents can benefit.

I will leave you with my two favorite multimedia characters -- Boowa and Kwala

 Friday, July 08, 2005
by Nik Kalyani
Friday, July 08, 2005 5:22:40 PM (Pacific Standard Time, UTC-08:00)

This has been a bad week. My grandmother passed away earlier in the week. Since then, in addition to not being very productive and not feeling very creative, I have also been generally quite irritable. Today, I also did one thing that is a rarity for me...I got into a pointless argument about a pointless subject on the DNN forums. OK, make that two things. Here I am blogging about something that no one is interested in. I'll stop.

 

#    Comments [6] - Trackback    

 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    

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