I’m Back, Again!

It’s exactly one year and 9 days since I last posted on this blog. I had some issues with my MySQL DB for this blog which was wrongly set to some other encoding, than UTF8.

After exporting my blog data, then re-installing latest WordPress, then importing data back in, fixing, tweaking settings. Now this is the first post after the overhaul.

I have some cool topics to discuss on this blog in coming weeks. I’ll give you some hints for whats coming:

  • Flash on Mobile and its future
  • Unity3D, why I’m going for it
  • State of Windows Phone as a platform for developers
  • And some more random thoughts around these, stay tuned!

// chall3ng3r //

Windows 8 Tip: Making All Apps Tile and Shortcut Real Easy

I recently upgraded my main work machine, Dell Studio 1558, to Windows 8 Pro. Only had one issue, where my ATI display driver was making Windows 8 Pro to crash after few minutes into the start screen. Other than this no issues. Smooth sailing so far :)

chall3ng3r-start-screen

There’s one thing that I realized after few hours of using Windows 8 start screen, the All Apps option is hidden under a right-click contextual menu. And I was accessing it a lot of times during the day.

I thought there might be a tile that I can place on the start screen, and can just place it on there and All Apps will be just a click away as compared to right-click then click All Apps button in lower-right corner. I’m a lefty, and the start menu we all are so used-to made me look for more apps button in the lower-left corner all the time :D

After some research, I found that there’s no built-in All Apps tile in Windows 8. So I made one myself. I don’t exactly remember where I found the snippet, but all credit goes to whoever found it. I just searched for it :D

All you have to do is make a New Shortcut on Desktop, and set its Target field to:

%windir%explorer.exe shell:::{2559a1f8-21d7-11d4-bdaf-00c04f60b9f0}

And Start in field to: %windir%. You can change the icon as per your liking of course. Click Ok to create the shortcut on your Desktop.

Now, right-click on this newly created shortcut, and select Pin to Start. Now you have a nice tile that you can just click to access all of your installed applications. Should be great for touch screens as well.

Please note that this is not a perfect hack, there’s a small visual hick-up, as if you click on tile, it will take you to the Desktop for a second, then back to All Apps list in modern UI. But it works :D

You can also download this shortcut file I created for myself, so you don’t have to go through all the hacking stuff ;)

Download: AllApps_Tile_Windows8.zip

// chall3ng3r //

QR Coder for Mobile Devices

Being a mobile app developer, I have to keep few devices around me all day for debugging and testing my apps. Nowadays, all smartphones come with Bluetooth, WiFi and now NFC technologies, but they all fail to talk to each other for even simple text data exchange.

I find myself in situations where I need to quickly get piece of text from one device to another. It could be a link, some text copied from browser, or SMS message I received on one device, and need to get on other device without messing around with apps or wires.

QRCoder-demo

Yesterday this idea came to my mind when I was reading a lengthy article on my HTC Titan and received system notification that I need to recharge or else phone will power off. I wanted to quickly open the same article on my Nokia E7 which I was also carrying with me.

As I described earlier, that we currently don’t have any standard way to get these devices talk to each other directly without going through the “cloud”, so I was stuck there.

I quickly jumped back to my seat, and started some experiments. After an hour I did my first test and and it was a success!

I wrote a tiny JavaScript which can be added into mobile browser’s favorites, and when you need to share current page’s link with another device, you can just go to that saved Favorite, which will execute my JavaScript, which will finally render a QR Code right on top of the page.

Now you just need to point your other smartphone or tablet camera to it with a QR Code reader app of course (built-in in WP and other OS’s), and voila! The link will now open up.

It works in PC browsers as well, so if you need to quickly open a link on your tablet or smartphone from PC, you can save this in bookmarks toolbar in IE/Chrome/FF/Safari, and click it to instantly make a QR code for current link.

I tested it on all major PC browsers, and on my Nokia E7 and HTC Titan. Works great! It should run on all mobile browsers which support editing of bookmark URL, so you can insert the code there.

BTW, I used old Google Charts APIs to make the QR codes.

And finally here’s the code which you can copy and save as favorite in your mobile browser.

javascript:(function(){function QRCoder(){var u=window,t=document,n=t.createElement("div"),r=t.createElement("img"),i;r.src="https://chart.googleapis.com/chart?chs=200x200&cht=qr&chl="+window.location,n.id="QRCoder",n.style.padding="60px",n.style.border="1px solid #f00",n.style.textAlign="center",n.style.backgroundColor="#ccc",n.onclick=function(){t.body.removeChild(t.getElementById("QRCoder"))},i=t.createElement("div"),i.style.fontFamily="tahoma",i.innerHTML="tap to hide",n.appendChild(r),n.appendChild(i),n.style.zIndex=6999,n.style.position="fixed",n.style.top="10px",n.style.left=u.innerWidth/2-130+"px",t.body.appendChild(n)}QRCoder();})()

Remember, there are no line breaks in this code. It’s just one long line of JavaScript code :)

Step by step guide:

  • Select and copy the above JavaScript code. On PC, do triple-click on code to select all code
  • Open web browser on mobile or PC
  • Add / save this page as bookmark or favorite
  • Now select and edit the saved bookmark
  • In name field, type “! QRCoder”. The character in start makes sure the bookmark is always on top of the list in your bookmarks list. Easy to tap :)
  • In Location / Address field, just paste the JavaScript code you copied in first step.
  • Ok / Done to save. Now go to any website and from bookmarks / favorites, tap on “! QRCoder”

To quickly land on this page, scan this QR code from your smartphone or tablet:

qrcoder-chall3ng3r

Tested on following devices / OS:

  • PC / Mac / Linux – Check
  • iPhone, iPad – Check
  • Windows Phone 7.5 – Check
  • Symbian Anna / Belle – Check
  • Z10 / BB10 – Check
  • ToDo: Android

I know when this gets published, many non-techy users are going ask how to save this code in mobile browser as favorite. So, here’s a little video demonstration on a Windows Phone:

[YouTube link for mobile viewing]

Kindly ignore audio/video quality and any narration mistakes, this is my first ever video, done really quick :D

It’s a quick and dirty hack to solve a problem. You can also hack it further as per your liking.

I would love to hear any feedback or a tweet :)

// chall3ng3r //

Reinstalling Client for Microsoft Networks in Windows 7

I recently got into a problem where I by mistake uninstalled “Client for Microsoft Networks” option for my Dell notebook’s WLAN adapter.

The main issue which I was having was that the network icon in system tray was always showing as disconnected, even if I connect to WiFi or plug a LAN cable. It always shows disconnected, which was annoying.

So, if you happen to get similar issue in Windows 7, just open Device Manager from Control Panel, and select the WiFi network adapter and Uninstall it. Do not check “Delete the driver software for this device” Option.

ms-network-2

After this, from Actions menu in Device Manager, click “Scan for hardware changes”, which will reinstall the driver back from the drivers’ cache, and will also fix the network icon issue.

Now back to the original issue at hand. To reinstall the Client for Microsoft Networks, you first need to open the Properties window for the network adapter.

Click Install, and select Service, then there will be only option for “Flash and Printer Sharing Service for Microsoft Networks”,  select it to install.

Now go back to same window and this time click Install and select Client from the list. You will get option for “Client for Microsoft Networks”,  select it and install. That’s it!

ms-network-1

Now if you are connected to network, disconnect, and connect again so you can start accessing the file sharing service on your LAN.

I hope this will help someone in need :)

// chall3ng3r //

Thoughts on Nokia + Microsoft

I believe this is the biggest mobile technology news since announcement of Apple iPhone back in 2007. And to be honest, I am all excited as one Apple fanboy would have, on such big news!

nokia-microsoft-valentine

There are reasons why I am so much excited, but first let me start with the fact that many developers showing concern that Nokia made a mistake for selecting Microsoft Windows Phone 7 as it’s primary mobile OS.

I have been reading lots of news, reviews, analysis and comments around this partnership, positive and negative. I gone through official Forum Nokia’s blog post "Letter to Developers about Today’s News" and in comments I see many developers not so happy.

I would like share some of the facts and personal experience about Symbian OS.

Symbian for End-Users

This is the base fact that everyone, including Nokia also admits that Symbian’s UX is ugly. I have been using Nokia smartphones since 2004, and my first one was second-hand Nokia 7650, and I have witnessed that Symbian was doing great in terms of UI until iPhone. After that, I haven’t heard anyone praising Symbian’s UI.

Symbian for touch enabled devices, proved to be complete nightmare for Nokia. Since it’s introduction to date, they are still trying to tweak it to work better for touch input, sadly without any luck.

Honestly, tell me any 10 great looking native Symbian applications, which provide smooth, beautiful, and animated user experience. Oh, I know one, Gravity and my big applause to the guys who did it. Other than this, I have not seen any Symbian application which impressed me with such great UX compared to iPhone, Android or WP7 apps.

Other than this, I was quite disappointed from Nokia from the end-users’ perspective, as they’ve been selling Symbian devices by showing cool animated UI transitions, but in reality, the actual device, when rotated from portrait orientation, taking more than 7 seconds to show up the UI in landscape (personal experience). Yes, I’m talking about Nokia N97 and other Symbian 5th Edition devices. Lets take a look at this video.

Cool, isn’t it. But if anyone who have used one of these devices must know what I’m talking about.

All this Symbian ^3 hype is waste of money and resources. I have a Nokia N8, and I was not able to compose new or reply to an email until I upgraded to firmware PR1.1, which was released few days ago after months of delay, using my primary account of Mail for Exchange (I use Google Apps). And there were also many other users who were have same issue.

I was making jokes on this”¦ "Nokia – Connecting People NOT", and imagine Borat saying it, you’re gonna laugh "automagically" :D

Nokia N8 is really a fast device as compared to Nokia 5800XM I own. But the UI still lacks all the richness, smooth transitions, and usability I find on iPhone, somewhat on Android and now on WP7 devices. Even Nokia wasn’t able to deliver what they showed in an imaginative video demoed back in 2007. Lets take a look, and pay close attention to animations and transitions.

Symbian was the main reason of Nokia’s failing all this time. They have tried to tweak its UI to make it work on touch enabled devices, but unfortunately it didn’t worked out until now.

Last thing to add here is, Nokia’s official end-user support forums are filled with so many complaints, most of them are related to Symbian OS.

Symbian for Developers

I started learning Symbian back in 2006. My aim was to develop a compiler, which would allow Adobe Flash Lite developers to easily package and distribute their games and application on Symbian platform. I successfully delivered SWF2Go in March 2007 after 8 months of R’nD, and it’s been quite a success so far.

During my journey on Symbian OS, I learned how hard and time consuming it is to develop. Setting up it’s SDKs was quite big task for anyone new to Symbian, but who have worked on other mobile platforms. Other than my work on SWF2Go, I never developed any native Symbian C++ application.

Just in 2010, Nokia’s investments in Qt started to show up. Even though Qt it easy and fun to develop with and its been here for so long and already gone through embedded platforms, but still not ready for real mobile applications. When developer needs to do some real work, he ends up with same old dirty Symbian C++.

Qt Mobility 1.0 is released but it has some quirks. For example, there’s no native Qt APIs of dealing with device orientation. The new Qt Creator project wizard now adds that dirty Symbian C++ code for you.

Nokia could have at least replaced the UI shell of the Symbian ^3 using Qt with all it’s cool transitions and effects. Like HTC replaced Windows Mobile’s UI (almost same as Symbian) with HTC Sense UX. And they actually did a pretty good job on that.

So, Symbian is an outdated legacy OS, which have completed its life long ago. Its making Nokia, developers and the whole ecosystem around it completely slow.

Now stop being angry and join, celebrate with me ;)

Why I Am So Excited?

Microsoft really knows software. They also make mistakes, like everyone does, but they are pretty good. For example .Net, Xbox, Windows 7, Silverlight.

Microsoft Windows Phone 7 is developed from experiences of Windows Mobile. It is targeted specifically for next generation hardware and touch input. It is user friendly, stable and it works. Go checkout some cool reviews to find out for yourself.

Microsoft is the king of developer tools, specifically Visual Studio 2010. If you have never used it before, this tool will teach you, help you and make you expert within weeks. It’s code editing features are one of the best available today.

With tons of online resources already available, so you will never get stuck with any issue. There’s a vibrant developer community as well, from where we can learn more and share back expertise.

Microsoft offers a complete set of tools for development of Windows Phone 7 games and applications. And best thing about them is, all of these tools including VS2010, Expression Blend and XNA Game Studio are completely free. Installation experience is really smooth as well.

Once you are aboard, you’re gonna love it. You can take my word on that ;)

I also found some users and developers asking Nokia, why they didn’t selected Android? Well, other than what Mr. Elop already said about it, I would like to add, haven’t you guys already seen enough Android devices?

Everyone is making them, HTC, Samsung, Motorola, LG just to name a few. Now even those Chinese companies also started making them in masses. You will be getting a lot of them in coming days.

Don’t you guys want to see something new, something different, a competition, using new technology, developing for it, innovating with it, having a choice? I mean come on”¦ Guys!

Nokia + Microsoft = A Wining Combination

I believe that this partnership is a great opportunity for developers on Nokia platform to get back into fast lane, and rapidly develop and compete against other platforms. Provide best of the best games, applications and user experiences to the end-users. A winning combination for everyone.

/// chall3ng3r //