Archive | November, 2016

Why I’ll never use Windows Phone again

04 Aug

Why I’ll never use Windows Phone again

It's been a while since I posted a good rant. Here's one that's been brewing for some time. I refuse to belive that ANY Microsoft employes that ever had an iPhone or Android, actually tried to use Windows Phone for a full year. I have and I can tell you - it's utter bullshit. I don't doubt that a lot of talented people have worked hard to make it happen, but without someone capable of telling what is good and bad, you cannot succeed. The whole OS reeks of a lack of interest and use.

I gave it a full year as I figured they'd get som time to fix the major bugs. Despite three fixes delivered over the air, they have not solved anything that could help me like the platform. They have however added a menu with "Extra settings" that I'll never use.

Here's my 6 biggest annoyances:

The Search Button

This is my single biggest gripe with Windows Phone and the person that made this choice should be fired immediately. He/she has done irreversible damage to the company in insisting on this bug/feature. When I'm pressing the search button - it is ALWAYS in a context! I have ZERO interest in opening Bing (see below) when I'm clicking the search button - EVER! If I'm in Spotify - I want to search Spotify for a song. If I'm in my contacts list - I want to search for my contacts. If I'm in a browser, I want my PREFERRED search engine. This would be so easy to understand if you ever used this phone.

When more than 50% of all apps (including Microsoft's own) needs to implement it's own search button in software AND you have a physical one that does not do anything sensible - it would be obvious to most developers to combine these. In many apps there's actually a menu bar at the bottom of the screen just to show a search button. It must be some incredibly stubborn person inside the company that insists on this. That person cannot be using Windows Phone at all. After using it for a year, I now have a long list of (mostly shitty) applications. To change a setting I have to scroll quite far. Imagine how neat it would have been to search this list of apps instead of going to Bing.


Settings menu is presented as text, but non alphabetical. Why on earth is Flight Mode and (screen) Brightness not on first page, when Theme & Internet Sharing is at the top? How often will anyone Microsoft developers actually change their theme? And how many "average" users will ever use the internet sharing? And why use text rather than icons for a non-alphabetical list? I refuse to believe that a single hour of user testing went into this.

Internet sharing

This feature turns off at it's own will. If I turn it on - I really want it to be on ALL the time UNTIL I turn it off myself. I have no interest in power saving for this feature. I just want it to work an not turn off every time I take a minute to answer an email. It does not work the way it's implemented now. It's simply too annoying to use.

Common volume

There is one common volume setting on the whole phone. This controls both media playback, ringtones, speaker volume and haptic feedback. Turn it off and you'll walk for half a day enjoying silence. Then you'll panic and realize you've lost tons of phone calls, Skype calls, messages and other notifications. Smart smartphones knows that AT LEAST the ringtone must be a separate volume or people will screw up and if this is due to the smart-phone not being smart enough, they'll get a better phone.

Lack of apps

It's ok not to have thousands of apps just when you're launching something. It's ok that not all the major app vendors support you right away. You MUST however do some filtering and make some CORE apps. Not having a youtube app is unforgivable. I know Youtube is a Google property, but that's irrelevant. Without a proper Youtube-app, you only got half a smartphone. It's that important. Allowing more than 30 wrappers around the web version of youtube is not adding value. It is destroying value. If I have to download 10 bad apps just to get one that is good, I'll stop downloading apps. It's that simple. Throw out the shit, retain and promote quality.

It's ok to not make just as good apps as Google, but you need to have the basics working. The Maps-application that come with Windows Phone, fails to locate pretty much anything other than cities. If that's a feature, you should probably name it "City-search", but you should not call it "maps" if it cannot find features on a map. I've viewed maps in the app and stared on the name (written on the map) and despite this, the search feature is unable to find that very location. I dunno why, but there apparently no relation between the map and the search. This makes the app somewhat useless.

If you want to get thousands of QUALITY apps in your store, you need to make sure that the vendors of cross platform authoring systems add your export. Adding Windows Phone export in Adobe AIR could give you millions of new installs. All they'd need to do is to recompile and export. Unity already exports to Windows Phone and I'm sure quite a bit of the current apps come from that. Nobody will learn a new platform/OS unless it's from Apple/Google and you know you have a huge market waiting. If you're entering this market to compete with them, you'll need to make it super-easy to make apps. You cannot force everyone to get a PC and learn Visual Studio.


My WinPhone is a Samsung Ativ S. The specs are pretty neat. It should be lightning fast. When I type a URL in the browser, suggestions will pop up as I type. This is nice, but not when the first suggestion pops up 3 whole seconds after I started typing. As I try to tap any of these suggestions, the list will re-order, so and I'll open some random URL. Come on. This is just looking up and displaying a list. It's a very basic programming task. How can this possibly take three seconds on this hardware and why on earth didn't anybody notice this and fix it after a whole year?

Bonus grudge: Bing as a search engine

I refuse to believe that it isn't possible to make something better than Bing. If I'm at a silent party I will sometimes pull up my phone and have people suggest random things that we should search for using Bing. We'll then laugh together at the results. Yeah - the results are so bad that it's fun. They are for some reason much worse if searching from a phone than from the desktop. If I worked at Microsoft search department I'd be crying.

One example: at Bitraf I hosted a workshop about "Myke kretser" (Soft Circuits written in Norwegian). Just before the event I used Bing to see if they had indexed the page. This was a month after I put it up on The search for "Myke Kretser" returned 1970's NBA player "Mike Kretzer" first and then even more irrelevant results. Come on. Not even one of the two words are alike or has even remotely the same meaning? Google had it right two days after I posted the event on Meetup. Bing now returns the correct phrase, but links to my slides from the workshop (derivate) rather then the Meetup page (source).

Bye, bye

If I spent more time, I could probably come up with more than 30 solid software and usability bugs in Windows Phone. The whole OS is incredibly unpolished. In addition, my Samsung Ativ S phone has been randomly rebooting at least once a day. I originally attributed this to a software bug, but none of the updates from Microsoft/Samsung ever solved it. To be honest, I now doubt it's a hardware bug. Good riddance Windows Phone. It's been an annoying year with you. I won't go back…


Arduino Companion 1.1

23 May

Arduino Companion 1.1

I just published an update to my Arduino Companion app to Google Play, Apple Appstore as well as Blackberry's App World. 

How's the app doing?

It's doing rather well I would say! Across the Google and Apple stores, it now has more than 20.000  140 000 (!) downloads. Not shabby, given that the only promotion I've really done for it is a single post at the forums. I also don't really know what a good number is, but this isn't a game so it seems pretty good? It's also now listed as the number 1 app for the keyword Arduino in all the app stores, so I take that as some kind of compliment.

Based on feedback, the users really like the app. It has an average score of 4.6 of 5 on the Android Market and 4.5 of 5 stars on AppStore. On Market (or Play that it's called now) there's been three one-star reviews. These all complain about having to install the AIR runtime, so now I've skipped that by packing it all using the Captive Runtime capability. It's now a 10Mb download (rather than 1.6Mb) just because of those complaints. Oh well... User Power is for the good I guess?

I've also received a lot of positive feedback and it's been a great test at making view-based cross platform apps. I've done the project based on a simple framework that resides in it's own project for simple re-use, so making more apps should be fairly swift.

What's new?

I added the two most requested features from the more than 50 emails I have received from users: searching and internal linking. If a page is in the cached data, the app will now just open that page internally. Before I had this in place, all links in the reference went online to the original Reference-page. Now I check the URL requested against the cached URLs and only open the browser for those I don't have cached. The search will first search through all titles since that is usually what people want. Next it will search all the text of the cached content to look for hits there. The data is stored as XML, so it's super-fast to search that with e4x and AIR.

I've also added an omission from the last time. Many classes have an overview-page and now this one is also included. Due to the timing, I was also able to include the latest updates to the reference for the Arduino Leonardo that enables you to use the device for both receiving data from as well as controlling both keyboard and mouse. Can't wait till I get my first Leonardo board from so I can play with this! All versions now use Captive Runtime and if you make AIR apps, make sure you do too. Those 1-star reviews for a free product that you've worked hard to make are really hard to digest so just avoid them?

I've also fixed several minor bugs, but I can't seem to nail the one affecting certain Android tablets (including my own). I've tried asking my contacts at Adobe, but they've all failed to follow up and I don't want to push too hard...

Playbook difference

This is the first Blackberry app I'm publishing and It actually cost me a couple extra days just to get the app out for the Playbook. While compiling the AIR project for the QNX OS was more or less just the push of a button (as with Android and iOS), the app itself had a bug that only showed on the Playbook.

In the app, all listings are done in Flash but display of pages are rendered in the internal Webkit browser in the AIR runtime. The StageWebView worked flelessly on the desktop, Android and iOS, but on the Playbook it just showed a white page. I found lots of others that had the same bug, but no answers. In the end I figured out what was causing it and yeah - it was sort of my own fault. In the WebView, I capture clicks all on external linksso that I can show the internally cached version instead of the one that is online. In this handler, there was a "event.preventDefault()" that for some reason acted differently on the Blackberry device. All I had to do was to tweak the logic here and the app worked perfectly. Things like this is a little sad as it sort of breaks the advantage of having a platform that can target 3 different OS's across hundreds of devices with just one codebase.

Anyway the app is out on Google Play and the iOS and Playbook versions will come soon after (when approved) - enjoy the app!

Arduino Companion - now out on Apple App store

17 Feb

Arduino Companion - now out on Apple App store

I knew about it, but it's facinating to experience firsthand the "Time To Market"-difference between Apple and Google. On Android, you can push things live on Market in a matter of minutes. Getting approval from Apple took 7 days. During that time I have received my first batch of feedback from Android users. I've gotten four 5-star reviews on Market, plus one 1-star review. The guy with the 1-star review didn't manage to install AIR on his handset for some reason. It hurts a bit to get a review like this when you're spending lots of time making something for the community to use for free, but it's better to know about the issue than not.

And - as my friend Paulo pointed out - export your app using Captive Runtime for Android. That'll include the correct version of AIR inside the app so the user never has to worry about it. It'll increase size, but reduce frustations so I'll certainly do that for the next version. Winter holidays and FITC Amsterdam is coming up now, but when I'm back I'll start working on the app again. I'll rebuild the views -system since I now know how I want it to work and I'll also add some more features. The plans are: a capacitor calc, a Volt/Ampere/Resistance/Watt calc and the first bits of a Hardware Reference!

Arduino Companion - my first app for devices is out

10 Feb

Arduino Companion - my first app for devices is out

Tonight I finally pushed the app out to Android Market and Apple's AppStore. It's already live on Market, but I guess it can take both days and weeks for it to hit the App-store? I hope others will find it as useful as I do. The idea of an offline Reference came about when experienced some server issues in January 2012. When I looked around for a way to browse the Arduino reference, I figured I could make something better than what was already available. I also had need for a Resitor calculator, so I've added that as well. That one I use many times a day thanks to my newfound hobby.

Making the app

I have lots of plans for new features I want in the app, but feel free to suggest improvements or new features in the comments. All sorts of feedback is very welcome! The app is pure Actionscript. I made parts of the app using Flex initially and the speed/responsiveness was nowhere near what I wanted. The data for the reference is structured using Expressionengine for easy editing/export. It took about 1,5 weeks to take the app to it's current state and more than half the time was spent on testing. Getting one app to work well across multiple screens is really quite a mess, so I hope I've tested enough?

The only known bug is that my Asus Transformer will report incorrect sizes when the app is rotated. It actually swaps the values for rotated and default orientation around? I only have this Android tablet to test on, so if you have an Android tablet and a few minutes to test - please do so and leave a message here. Apart from that bug, it works like a charm on iOS and Android. I haven't tested it on Playbook as I'm yet to receive from RIM the one I won just before GotoAndSki.

I'll probably spend some time getting it published to the other app stores as well such as Amazon, Nook and maybe also smaller ones like Samsung Apps. Any other suggestions?

Other apps?

While this is the first one that has been  published, I've also worked other AIR-based apps for devices. Next out will be my game project MineGunner and start to play with Genome2D. I had to take a break from that when I discovered that I needed hardware to get it where I wanted. The demos I saw of Stage3D / Genome2D at GotoAndSki totally blew me away! Who will need more than 6000 sprites running at 60fps on an iPad? Not me! :-D

Realtime 3D on the web - a toy or a useful tool?

22 May

A little late, but here’s the slides from my presentation at the FlashForum Konference in Cologne. In the session, I discussed 3D on the web and what it’s good for. I started with a historical overview for we’ve had 3D on the web for a long time already. It’s never been a success though and I highlighted some possible reasons as well as why Flash changes this. I also tried to draw up some rules for what constitutes “good use of 3D on the web”. Is showed no code at all in the presentation and the slides don’t give away all I said, but you’ll get the idea.

PDF of presentation

I’ve done lots of presentations before, but this was the first time I presented at an international conference in English. I was super-nervous but the session went really well and I got some good feedback. It kind of surprised me how little feedback you get initially. Just a few mentions on Twitter that said my session was “nice” - not all that encouraging. Later I got the feedback from the Feedback forms as well as blog articles such as this one that said “Fantastischer Vortrag und super Redner”. Really strange to not just give feedback like I usually do on Flashmagazine, but also receive it! :D

Photo by Marc Thiele/FFK

The day before the conference, I also did a full-day Away3D workshop. Renowned community expert Peter Elst was there and I’m glad he enjoyed it! I also did two reports from the event for Flashmagazine.

I have to congratulate Marc and Sascha - they really know how to pull off such an event! The mood was excellent. 500 attendees, 28 sessions, 10 workshops and not a glitch. Pretty neat and all served at a fraction of the cost of other conferences? Pretty impressive if you ask me! I had a great time!