There’s a lot I want to talk about over this month. I think I have enough time to do so, but today I want to talk about letting go projects. Or rather, focusing on delivering. I was supposed to deliver my first app a month ago. I couldn’t due to a lot of complications with Qt/QML in general. TextAreas with images would go up to 200-300mb in memory.

It was insane nonetheless.

I applied workarounds that were quite fragile… in the sense that “I’m doing something I know I shouldn’t because this technology should support it”. I mean, who would have thought parsing and traversing the DOM in C++ would be a giant PITA? I didn’t. A lot of setbacks were because I kept pushing on with the pretense that it was all well worth it since it was C++. I mean, yes, there was a certain leverage using a low-level language. However, does it even matter? I mean, with QML you can easily reach 60-80mb without doing anything.

On the bright side, I never gave up trying to deliver the app.

The last few days I have been researching on Universal Windows Platform (UWP), UWP JavaScript bindings, WinRT Components, integration with Windows Phones. I must say that I am extremely impressed with Microsoft’s work. I’ve read plenty of developers mixed feelings about UWP, heck, even I found the whole thing confusing. UWP, WinRT, metro, whatever buzz name they’d come up.

2016-07-04 (2)

2016-07-04 (1)

As you see in the images. I’ve been cooking up something, something that I really hope to release eventually. When I jumped to C++ I didn’t know anything about it. I didn’t know much about C++, or about Qt for that matter. With UWP, a lot of things comes “naturally”. The permissive nature of UWP with JavaScript bindings is insane. I thought, “wow, QML is awesome!” without ever batting an eye to UWP. When I used UWP JS engine, it was of course a browser. I think at best I used like 20mb of memory. It even ran embedded flash…. something that QML is quite incapable at the moment.

UWP reference (mostly WinRT API reference) feels pretty solid so far. There are times where an implementation won’t work, for example, grabbing my profile picture from the OS. But, in a way this is why WinRT components exists. You can create components in VB, C++, or C#; these components are the bridge for anything that requires intensive processing. Let’s say, “video processing” or “audio processing”.

After spending a whole day poking UWP I feel like this is the right direction. The only thing is that I won’t be able to target Android, sadly. I could fix that with Apache Cordova… but, for now I’m just gonna target Windows devices.