This Week in Twitter

  • Novell is history. My first network OS, for a long time, I preferred IPX/SPX over tcp/ip in LANs and didn't trust windows to be file server. #
  • There is contact info: phone number and email address. I've written an email. What reply did I get? Right. "Please call us". #wtf ? #
  • Yay ASCII is back RT @time_signal_24
    ????????????????????????? ????????????????????????? ?????????????????????? #
  • New term learned: "worse-than-random decisions". #
  • I favorited a YouTube video — Leon Lai and Kelly Chan – Sui Ming Er Fei (Translated) http://youtu.be/z_mHQXkH5kI?a #
  • Just realized that ?? and ?? share the last part #
  • Interessante Statistik: http://farm6.static.flickr.com/5085/5201584175_d4594e9ccf_b.jpg #

Powered by Twitter Tools

This Week in Twitter

  • What is the most soft, warm, helping, and essential in the world? Your mother's hands. #
  • An extremely insightful article about innovation and company size: http://j.mp/9vQoiB #
  • :-( @danwei Deadly Shanghai fire in highrise building http://bit.ly/9TK0TT #
  • Pity ? has been simplified to ?. The former looks really like ? holding two small ?'s in his armpits. And the latter is hard to tell from ? #
  • Why are some ads so much greater than the others? Like this Chanel ad http://j.mp/ctMOh8 (I truly couldn't believe it is an Ad) #
  • Serialization is the biggest pain point of a C# developer (.NET or SIlverlight). I wonder why. Other languages can do it. #
  • And the most WTFish in C# serialization is that one of the most needed and basic objects are not supported. DependencyObject. Hashtable. #

Powered by Twitter Tools

My Android anchors

Now, when WP7-based devices are available, I was thinking about buying one. After all, I can easily develop software like a custom twitter client on WP7 without having to learn anything I don’t already know.

The “only” issue with WP7 is that I have a couple of apps on my HTC Hero, which I absolutely need or at least would like to use  in my daily life and which I don’t want to miss on WP7. Here is the whole list (as of today):

  • SCUT gPen – an IME allowing to enter chinese symbols by “painting” them with a finger
  • Swype keyboard IME. It is not that really quicker, but the fun using it works like a drug. You don’t want to switch to normal keyboard once you’ve started to swype. It is like eating without salt and pepper.
  • A tethering app. I’m using EasyTether but would use just any other possibility to avoid paying crazy sums for hotel WiFi.
  • Hanping Chinese Dictionary or an equivalent. At best, the whole info from Yellowbridge should be integrated in the app.
  • MapDroid – a map app, which caches parts of the map locally so that you don’t need to pay crazy sums for GPRS roaming on your weekend trip in the neighbour land.
  • Barcode scanner with Google and Google Shopping interfaces
  • WiFi Analyzer to show surronding WiFi networks graphically, and Antennas, to show surrounding cell base stations graphically
  • A simplest MP3 live streaming client of any kind. I enter an Icecast Url, it plays it. Well, I guess I could write this one myself if it isn’t available yet.
  • Kayak and Ustream clients, just for fun

So, these are all anchors so far, which don’t allow me to switch to WP7. My feature request for the WP7 Marketplace: I would like to be notified per E-Mail, when the WP7 apps with the same or better feature set  will appear there.

This Week in Twitter

Powered by Twitter Tools

PDC10 Controversy

In response to the Mary Jo Foley article about apparent Silverlight strategy shift (I’ve mentioned it), Bob Muglia has now clarified a couple of things. To spare you a visit of his blog, here is my short version*:

a) Microsoft has failed to put Silverlight on to iOS (and, for some unknown reason, on Android).
b) Microsoft has failed to provide a viable OS for an iPad-killer
c) Given the fact how quick Apple and Google develop their market shares in this connected devices area, Microsoft’s knee-jerk reaction was to support at least something to be able to be present on these markets.

This something is happened to be a new version of the Hyper Text Markup Language. Which is very unfortunate due to two reasons.

First, it is still the HTML we all know. Think about “design by commitee”, browser incompatibilities, the need of backward compatibility, and complete lack of understanding the real-life needs and use-cases of software industry clearly shown by its academic creators, first and foremost by Tim Berners-Lee.

Second, it is seen by some (crazy) developers as a serious competitor of Silverlight.

The results of this move are suboptimal. If Microsoft will follow the loud requests of some panicing folks and will feel itself under pressure to release some next Silverlight version, no matter how half-baked it is, it would damage the quality and stability of the Silverlight platform. If they won’t, these folks might crack up and jump off the train.

IMO, the best reaction for all Silverlight developers is to calm down,  write off this year’s PDC and look forward to the next year’s MIX. After all, Microsoft has announced support of HTML5 in IE9 months ago, so these are old news.

Windows Azure is a more interesting PDC10 topic, but I will write about it in the next post.

(*) Okay, not exactly the short version, but my own speculations on the topic. You may want to read the original post.

This Week in Twitter

  • used floweradvisor.com to send flowers to China (they deliver worldwide from local flower shops) and was deeply impressed by the service #
  • Even though my address turned out to be invalid, they went an extra mile and asked around, and called all possible phones, and looked up… #
  • …yellow pages to find the recipient. I've absolutely had an impression I've asked a good friend to do me a favor. Unbelievable cool. #
  • Great thought-provoking chinese art by Ai Weiwei: http://youtu.be/PueYywpkJW8?a #
  • Ich mag ein YouTube-Video. — Toon Tellegen l The elephant and the snail l de olifant e… http://youtu.be/hk3yDkSuKDU?a #
  • Pushkin weather in Fürth: icy cold and sunny. #
  • Cool WP7 profiler demoed. Will we get the same thing for Silverlight for PC?.. #pdc10 #
  • New Azure features give devops back (almost) full control over the servers hosting the apps. Which is a Good Thing. #pdc2010 #
  • Is there a Marketplace for Azure Services? How can an ISV develop and sell their Azure Services? #pdc2010 #azure #
  • Missing announcement about Azure Starter or Student Edition #pdc2010 #

Powered by Twitter Tools

Why I hate HTML

There is a wave of wondering on Twitter, why Microsoft speaks so little about Silverlight on this year’s PDC conference. Mary Jo Foley even goes so far citing Bob Muglia saying that Silverlight is [only] the development platform for WP7 apps in her provocative article “Microsoft: Our strategy with Silverlight has shifted”.

I’m not sure if Muglia is an authoritative source of information though; judging on his replies on the key talk I’m not sure he was able to fully understand the technology he was speaking about.

I would rather see the HTML5 vs. Silverlight topic as publicly visible part of an iceberg of some very political power struggles inside of different Microsoft teams. You know, that kind of thing nobody in the world really needs besides a couple of hungry narcissistic managers.

Anyway, this has made me to reflect, why am I so vividly hating HTML. And this is the story I’ve came up with.

When I’ve started to learn programming, the relevant articles were printed in electronics magazines, somewhere inbetween of discussions about the most economic way of building an SW antenne and problems of making printed circuit boards at home. At those times, there were only two languages to be used for freaks like me: Assembler and BASIC.

One of my first programs in BASIC has printed a red box and looked like this:

10 LINE (10,10) – (50,10)
20 LINE (50,10) – (50,50)
30 LINE (50,50) – (10,50)
40 LINE (10,50) – (10,10)
50 PAINT (11,11), 4

And it was kind of cool. Ever since that time, I use the red box test as one of the first tests when I start using a new programming language.

Being able to paint a red box on the screen is a quite important step of mastering a language, because, after all, any UI can be seen as more or less complex set of filled polygons. Of course, you wouldn’t always compose the UI from polygons (unless you’re developer of a 3D engine), but, “if nothing else works”, it is nice to know you have a “plan B”.

In Silverlight, the red box test looks like this:

<Rectangle Canvas.Left=”10″ Canvas.Top=”10″
Width=”40″ Height=”40″ Fill=”Red” />

In some aspects, it is arguably worse than the BASIC version. In essence, what Silverlight (together with your GPU) does is translating this XAML into a sequence of operations equivalent to the BASIC snippet above, but you as a developer don’t have possibility to control this sequence. And less control is always worse than more control. Besides, the XAML is a little too wordy and inconsistent: in some cases you use “Fill”, in other cases “Backround”; sometimes you use “Width” and “Height”, in some other times you’re allowed to use “Rect”, and so on. But, all in all, it is quite concise and readable representation of your intent.

Now enter HTML. I’ve never worked with HTML5, but passing the red box test in HTML 4 was a quite non-trivial task. For starters, you don’t have any figures. If you’re lucky enough and your box is really rectangular, you can misuse the DIV element. Well, actually, it is a hack, because it is supposed to be just a container of other elements, not some visual form on the screen. But, hey, who cares.

So, my first try was

<DIV width=”40″ height=”40″ background=”#FF0000″ />

which, of course, has failed. For some unknown reasons, I cannot set those values as direct attributes of DIV. I have to use the CSS language instead. I don’t quite understand, why “id” and “style” and “cssClass” and “name” are all valid direct attributes of DIV and “width” isn’t. But, again, it is HTML. Milliards of folks on this planet have installed a web browser ready and waiting for my HTML app, and that’s a reason good enough to endure any hacks.

So, my second try was

<DIV style=”width: 40px; height: 40px; background-color: #FF0000″ />

that has failed again. To make it work, I had to add some content inside of the DIV:

<DIV style=”width: 40px; height: 40px; background-color: #FF0000″>
&nbsp;</DIV>

Strangely enough, now it works even without the &nbsp;, at least on my IE9 Beta. Am I missing something or has the standard changed?…

Now, the next step was moving this box at position (10,10). I’ve added setting of “left” and “top” properties into the style, but this has failed to work again. After the third defeat in a row, I have given up. Eventually, I’ve learned the magick of “position” and different placement models. But it was too late, I have already pronounced my judgement.

HTML is not a language to be used for application development.

You cannot reflect your intent in a concise and readable way when using it. It is kinda nice for making an occasional word bold or italic. Or even place an image with a textflow around it. But developing something like Outlook Web Access with this stuff… No way! You have to be a reckless hero on drugs to be willing doing that.

Now, I’m hearing that HTML5 introduces the concept of canvas. Drawing a red box on this canvas would look like this

var ctx = document.getElementById(‘canvas’).getContext(‘2d’);  
ctx.beginPath();
ctx.fillStyle = ”red”;  
ctx.moveTo(10,10);
ctx.lineTo(50,10);
ctx.lineTo(50,50);
ctx.lineTo(10,50);
ctx.lineto(10,10);
ctx.fill();

Welcome back to the BASICs. In 1980-ies, every PC in the world had BASIC and was ready to paint red boxes. Now, in 2010-ies, we will eventually have a HTML5-enabled browser on every PC in the world, and it will be able to paint red boxes.

I wonder, what kind of middle age has happened between 1980 and 2010? Wasn’t by any chance HTML the reason of this regression? And why should I ever trust this four-letter word?..

PDC10 Sessions

Is it me, or PDC10 looks very strange? There are only two main topics – the phone and the cloud. There are less sessions than in 2009. And the PDC web site (build by Vertigo, who else) doesn’t even allow to link into session detail pages. I might understand such a limitation if the session chooser (aka the Guide) was build on Silverlight 2, because implementing deep links back then in SL2 required a little bit thinking. But no, the Guide is in HTML / Silverlight 4. Crazy…

Nevertheless, here is a list of sessions I’m interested in: