Marius Gheorghe

Building software : make it work, make it good, make it fast

It's just a binding failure

A GitHub extension VS bug caused some serious damage for some dude. It was very sad to see the actual cause of the bug though. A frigging WPF checkbox binding failure case GitHub projects to always be created public.
It's funny because a lot of people who do XAML figured out that MVVM/binding is the wrong way to tackle UIs of a reasonable complexity but on the other hand it's still sad to see it fail so miserably.

Universal Windows apps - risking the quality of the apps

I've played around for a bit with a Lumia device which run the latest Window 10 mobile. To be honest the entire switch to "Universal Windows apps" doesn't seem to great from a user perspective.

The main thing is that not matter how great the API is, it is HARD to make a app "work" from a 4 inch phone (using touch as input) to a Xbox One running on a 70' TV using a controller for input. Different device sizes and different input methods are usually handled differently so "hiding" all this under a API won't necessarily make the apps great.

Just look at Android, even after all these years you can still find apps which suck when are running on a tablet (they don't make proper use of the entire screen estate). Nevermind the fact the the OS still doesn't support basic features like running 2 apps side by side (never mind the Samsung hacks, that has his own share of problems).

To me, with the universal runtime , it seems Microsoft is risking to have more apps which are mediocre on multiple devices rather than fewer apps which run and work great on each device type. Windows Mobile /Windows 10 won't compete with Android / iOS regarding the number of apps anytime soon (if ever).

Is it worth risking the user experience for "many apps" ? Personally i don't think so.

All http traffic should be encrypted

There was a interesting piece of news in the last few days. Basically China launched a DDOS attack on GitHub by rewriting the Baidu analytics code to point to a certain GitHub hosted project. Thus, all the sites (and their users) who run Baidu analytics code were contributing in DDOSing GitHub. Its another proof in a long list of issues that basically proves that the web would actually be better if all traffic would be encrypted by default. Not necessary reliant on Certificate Authorities for verification, just encrypted.

And it's also in sheer contrast with the sad state of affairs today regarding encryption when using self signed certificates. The browsers treat plain HTTP traffic (that your ISP can rewrite to include ads, look it up it happened) as "better" than traffic encrypted with a self signed certificate. That's why the Let's Encrypt initiative is so important.

Maybe it's time to ditch HTML and CSS

So Google just released Web Starter Kit , a "toolkit" for "Boilerplate & Tooling for Multi-Device Development".

Bullshit. Development of proper, complex apps for multiple devices is fucking grueling and no "toolkit" will save us. "Responsive design" is a idiotic term which is paraded a lot these days. The sad reality is that "responsive" design only "works" on simple , "static" , "read only" sites. It doesn't work on complex apps (with multiple form elements and somehow omplex UIs). Doing a "proper" web app with a certain level of complexity to work on multiple devices and form sizes IS hard work. There are still chunks of a browser behavior very important on mobile that are not standardized ( like zooming for instance). See how easy is to make a single HTML element not zoomable on mobile. Use kendo, jqueryUi, jqueryMobile, whatever ...is still a LOT of work just to get some basic layout behavior work. Something take is very simple to do with the "native" UI toolkits.

From my point of view a part of the problem is HTML and CSS (especially CSS) standards. The specs have become just too convulted and W3C just tries to cover EVERY single scenario now. Especially CSS is a clusterfuck of a complex specification , look at display for instance. And the irony a basic thing like centering a piece of text in a container is still hard too do with CSS. There are 3 million search results on Google on how to do that . This is the most basic operation that a layout engine should do and is still hard to get right.

From my point of view the "answer" would be a new standard with a much narrow . Something simple which describes a layout engine that should just works and which has the "responsive" stuff baked from the start. Maybe built on top of WebGL. Something that can actually take on mobile native toolkit. But yeah...i wouldn't hold my breath for this. After all W3C is still chasing jQuery level developrs with new APIs.

And Google....you're not moving the web forward with a half  assed Bootstrap clone.


Mozilla and DRM

Big debacle over Mozilla's decision to support DRM. FSF is not wasting any time of condemning Mozilla's decision.

 The thing is ....it's not that simple. Mozilla main source of revenue comes from Google. Google pays quite a lot of money to have Google search as the default search engine on Firefox. And they do this because Firefox has a nice marketshare. Mozilla "livehood" depends on this. If they choose NOT to implement EME ( Encrypted Media Extensions ) , their marketshare will fall down (people will ditch FF because Hulu/Netflix and any other movie streaming provider won't work on a browser without EME support) , and Google will stop paying them because Firefox marketshare will become (almost) irrelevant.

 So, the way i see it, Mozilla's decision to support EME is more of matter of survival for them rather than politics.

Slapping Metro on everything is wrong

Just read this article Why Metro now rules at Microsoft157158 and it seems to me that MS will just blindly slap Metro on everything. They already screwed up the Xbox 360 UI with Metro (the "old" NXE had much higher usability) and it seems they won't stop here. The "problem" with Metro is that it really works only with touch input. On the 360 navigation on the Metro enabled UI with the left analog stick is painful inadequate (you're basically navigating in sub tiles all part of a larger tile) and you also have to use the "shoulder" buttons for navigating the top tabs. Compare this with NXE where you just flip left/right with the analog stick

So Microsoft please stop slapping Metro on everything. It only works fine with touch input .

Some thoughts on Windows 8

So i installed the developer preview of Windows 8 (i was actually more interested in Visual Studio 11 rather than Win8) and i decided to share some opinions. To be honest since Win8 has been unveiled for the first time, i've been a bit puzzled about the decision to have the same OS for both tablets and desktop and combine those 2. (i mean touch is so different from mouse & keyboard that it makes no sense to mix them together).
 
Tablet : as a tables OS , Win8 looks fine. But to be honest, i don't really think it matters. Apps matter. Sure it won't be a problem from MS to get good apps for the tablet (i actually think by the time it alunches next year, MS will more apps than Google's honeycomb). But the way it see it, there's no market for tablets. I simply don't think there's going to be a "post PC" era. PCs (desktops and laptops) are here to stay. The keyboard (which is basically the best way to interact with a machine) is here to stay. Sure, MS can't affort not to sell a tables OS. But it looks like they spent too much time working on the "tablet side" of the OS in detriment of theit bread & butter : the desktop.

Desktop : well there are improvments of the desktop OS (it took what....5 years to finally get proper multimonitor support ?) but they certainly didn't improved the OS as much as i would have liked for the desktop use. Worse still they started to change things that only make sense for the tablet :

- replacing the start menu with the table specific start screen. This doesn't make any sense (even if you can tehnically "use" that screen with mouse&kb). Nobody is going to launch apps by scrolling horizontally and looking for a tile with the app name. If you want to improve the OS just add a freaking keyboard launcher not the tiles screen.

- they started replacing "default" controls with their "touch" equivalent (for instance in Control Panel the checkboxes have been replaced with the new Toogle Control). Using the toogle with the keyboard is bad (not to mention that toogle takes way more screen space than the checkbox).

So, in conclusion, i have the feeling Win7 will be the new XP. We're going to use it for a while....

Ribbon is bad UI

Just updated Windows Live Writer and the latest version has the useless Ribbon UI. Don’t get me wrong Ribbon might be useful for beginners but it’s useless for advanced users. The problem is that the UI is mouse “oriented” and  most “actions” don’t have keyboard shortcuts. Also on some apps that use Ribbon  the toolbar buttons tooltips don’t have the keyboard shortcuts.

Live Writer is the kind of app that really didn’t need Ribbon. I see it’s becoming a trend at Microsoft and I don’t really like it.

ClickOnce - death of ASP.NET applications ?

At least ASP.NET applications for the intranet. I confess that i worked
on both Windows Forms and ASP.NET apps. As a user(and also as a programmer)
i prefer the first ones.The usability of the ASP.NET gives a lot to be desired.
The are slow and cluncky.I would choose a normal Windows Application over the
ASP.NET equivalent any time.
  In the intranet scenarios the only advantage of the ASP.NET apps is the deployment.
Deploy on server and forget about it. Update on server and everyone has the latest version.
Not so with Windows apps. It looks like ClickOnce is set to change some of that. I am
saying "some" because i'm not sure that ClickOnce will work in complex deploying
scenarios (for instance installing COM+ applications, adding assemblies to GAC etc).
The only demonstrations for ClickOnce i've seen were some "dinky single window form
app" on Channel9. Btw MS guys, when you do demos, it will give you a WAY better credibility
if you demo with more "Real life" apps instead of toys.
  So, it seems that with .NET 2.0, we will be able to deploy/update Windows Forms apps as
easy/fast as ASP.NET. Will this be the death of ASP.NET apps for intranet ?

I certainly hope so.