This morning, I was interviewed by a senior editor from the Software Development Times regarding a post on Rock Star developers I made a few months ago. It was fun. We talked about how I look for team players, test platform knowledge, and “knowing” the business. If any thing makes it online/published, I’ll certainly link to it.
Create a structure which represents a binary tree. Iterate through all of the elements of the tree in any order, without using recursion.
Update: Your function is only provided the root of the constructed tree. A tree node should contain no more than the child node pointers and the data.
At the top of the page linked above, you can try the Ajax version or the Silverlight version of their web-mail demo. Try it.
I won’t say that I’m not impressed by what they’ve accomplished technically. It’s impressive. They use a WinForms designer to build parts of the user interface and the logic of the application. Then through a custom engine, they send user events from the client to their special ASP.NET hosted processing engine (ASP.NET plays a very secondary role in their framework — it’s really just using it as a way to host .NET code and have access to an HTTP request/response model).
Here’s an example exchange:
I launched their web application, logged in, and clicked on the second mail entry in the Inbox.
<E SR=”173″ TP=”SelectionChange” TRG=”true” Indexes=”1″/>
<E SR=”173″ TP=”GotFocus”/></ES>
The server responded with this:
<?xml version=”1.0″ encoding=”utf-8″ standalone=”yes”?>
<WG:R LR=”633518369285000000″ AF=”202″ FC=”12″ xmlns:WC=”wgcontrols” xmlns:WG=”http://www.gizmox.com/webgui”>
<HDR W=”186″ H=”20″ />
<WC:L Id=”157″ E=”8″ TI=”1″ F=”1″ FN=”normal normal bold 12pt Tahoma ” TX=”‘World’s oldest blogger’ dies at 108Story Highlights” TA=”TopLeft” D=”F” />
<WC:L Id=”155″ E=”8″ TI=”2″ F=”1″ TX=”7/14/2008 10:46:25 PM” TA=”TopLeft” D=”F” />
<WC:LV Id=”163″ E=”2″ TI=”1″ F=”1″ IDD=”1″ BR=”none” D=”F” VW=”SmallIcon” TX=”” CP=”1″ TOP=”1″ TOI=”0″ HDS=”2″ />
<WC:H Id=”160″ TI=”1″ F=”1″ BR=”none” Src=”Component.172.HtmlBody.wgx” D=”F” />
I’m not going to pretend to understand all of the nuances of the exchange — but, it does obviously send the change in selection (implying it has some client knowledge of “selection” in a list), and that the same control (guessing “173”) also received focus.
The response includes the user interface changes — the e-mail subject and sent time changed, but the e-mail “to” did not change (maybe WC:L is for Label and WC:LV is for ListView?) The HTML body has been signaled to load as the next request to the server uses the URL passed as the WC:H element.
The Silverlight version makes nearly identical requests.
If you happen to try the Silverlight version and spot the rich text editor and you wonder, “how did they build a Silverlight Rich Text Editor?!?!” Well, calm down. They didn’t. In fact, they’re hosting the FCKEditor as HTML — and carefully overlaying the HTML hosting window in exactly the right spot. Tricky — but it seems to have some oddities with focus that aren’t entirely explainable.
Even if they did copy their web UI design from the Silverlight.Net home page….
I’m still impressed with the technical achievement. That being said, it’s WAY overpriced at $1,500 – $1,900 (see license and subscriptions here) — PLUS, it’s a subscription (and it’s licensed per working [sic] station!) Technical support is included, but not hot-fixes, etc. Support is available only 5×9 (not sure what the hours would be since it appears the company is based out of Israel), so you might not want it for a mission critical application (especially since this thing “is” your application platform, from start to finish.)
I’m familiar with quite a few 3rd party components … and I’ve not come across a company that bills for cases that are bugs in their software? (That’s the way I read their support agreement).
If you’re considering buying it for a major application, I’d recommend you be prepared for the company to no longer support the product … and be sure the license will support you and your needs. Actually, I’d just recommend your developers learn the actual technology you want to target, be it Ajax, DHTML, Silverlight, etc. and make a great application that way. There’s a lot of less expensive toolkits, frameworks, etc., to build on, which are less proprietary, better supported, and more efficient.
From their license:
“to install and use the Library in mechanic-readable object-code”
Uh… I need to get a mechanic to read the object code? :)
I’m fond of this quote on the page linked above:
Visual WebGui’s “Webmail” is exposed for demo purpose only. Gizmox has the copyright and propriety rights on the application and its implementation method. At a later date, a showcase based on our experience in developing this sample application will be published.
Copyright and propriety [sic] rights on the application …? Uh, you mean Outlook 2007, which you copied as closely as you could?
Summary: Not recommended.
Trying my hand last night with my 250mm and a 1.7x teleconverter with my Nikon D300…
It’s a little fuzzy — but I think that was actually the summer evening haze and not my inability to focus the camera successfully. (That’s what I’m telling myself at least).
It’s in a gallery of flowers on SmugMug (I was trying my hand at Macro photography the past few nights with our prairie flowers).