Norwegian Developer Conference 2012

Day 1:

The day couldnt have started off better. Beautiful weather, and the registration queue at the venue was really fast.

People waiting outside of the venue before the doors opened on the first day.

Beautiful weather outside of Oslo spektrum on the first day of NDC 2012

 

The venue was split up into ten different areas. One main area with lot’s of stands from different companys promoting themselves and their products. Eights separete areas presentations / session + one area for workshops.

Venue during registration hours on the first day of NDC 2012

Venue during lunch hours

 

After moving inside and checking out the venue for awhile, i grabbed a seat fairly close to the main stage. Aral Balkan came on stage at 09.00, and basically went straight into a musical performance on stage.

Vimeo link to Aral Balkans – A Happy Grain of Sand keynote

Aral goes on to talk about how we as developers should create emotional connections with our users (His song example), and design experiences that make our users happy.

During his presentation he used everyday examples filled with humor, such as design of toilets, ticket machines, train doors and elevators to make his points.

He talked about “the superman effect”. How we can make our users feel like superman, when we make the technology behind the experience invisible.

Lot’s of great quotes came out of the keynote, such as:

“Your app should not look like your database just threw up”

All of these things, together with Aral’s enthusiasm and obviouse passion for his work made this one of the best presentations i’ve seen, regardless of topic. And it really set the tone for the rest of the conference.

From here on out it was one hour presentations scheduled all day, only interrupted by 20 minute breaks inbetween sessions and a one hour lunch break.

I attended several sessions about different aspects of Windows 8. Some fairly technical, with lots of good code examples. Like Gill Cleerens talk on WinRT in Windows 8. I also went to listen to Laurent Bugnion talk about the Metro Design Principles that Microsoft are so focused on in all of their products now days (Windows 8, Windows Phone, XBOX and Zune).

Overall it was a lot of different sessions, that complemented each other pretty well. Im especially looking forward to having some more time studying several of Gill Clereens examples once he releases them on his blogg!

Gill Cleerens blogg – Snowball.be

Day 2:

The second day didnt start out quite as dramatic as the opening keynote, but it had some very interesting sessions lined up for us.

The first session i attended was called Clean Architecture, and it was held by Robert C Martin, aka Uncle Bob. Martin is a well known author and speaker in the field of software design and development. He has published several books, and is also the owner of the cleancoders educational video series.

Uncle Bob – Clean Code Video Series

In the presentation Martin talked about how we can make better choices for our architecture, by defering technical deccisions for as long as possible. This way we have more information available, once we make our decisions.

He also mentioned some really good points about how we as developers often “enslave” ourselves to the tools we use. We integrated them all the way into the core of our systems, making it an almost impossible task to change or remove them in the future.

The presentation was really good, and i think alot of people recognized themselves and / or their companys practice in what Martin was talking about.

The next presentation came from Dan North, and it was about embracing uncertainty. Dan talks about how we are so desperatly uncomfortable with uncertainty. So much so that we will replace it with anything, even things we know don’t work.

The rest of the day for me was spent in various sessions about user experience and design. Several of them from a great speaker named Billy Hollis, who is an american  consultant in software development and a Microsoft MVP (Most Valuable Professional).

He held some great presentations that i think hit straight home for most of the developers in the audience. They all focused on what some people call the transition from The Age of Features, to The Age of Experiences.

For many years now it has been good enough to just make things possible. But now days success also depends on making things easy!

I don’t think i attended a single technical presentation on day 2, but it was by far the best day of the conference. So many good sessions that are applicable for all programming languages and software products that we as developers will create in the future.

Day 3:

The third and last day was the most technical day for me. Looking back i should probably have switched out some of the technical sessions, for some more well rounded presentations. This was partly because of my lack of technical experties in some of these areas, but also because a few of the presentations were not really all that good.

Lack of preperation, and also general lack of focus in the presentations made them hard to follow, and fairly uninteresting. But these things are hard to predict, and the theme of the session was interesting. So it was worth a shot.

Hightlights for the day was probably Billy Hollis again, talking about the concept of storyboarding your user experience, and Laurent Bugnion talking about applying the MVVM pattern on several different platforms.

Both presenteres are really good, and their content was also top notch. Billy Hollis pours out his experiences once again, complete with lots of good examples and tips for the audience to follow.

I also ended up winning a book, and a voucher for either a free training course at ProgramUtvikling or a ticket to next years NDC.

My choice when it came to picking out a free book from winning on ProgramUtviklings magical spinning wheel.

My golden voucher for a free training course or a ticket to next years NDC!

So overall it turned out to be a pretty good day, and a really good conference!

Hopefully i’ll be able to attend again next year 🙂

Posted in Uncategorized | Leave a comment

Working on the back-end

After finishing my flashlight application for WP7, MetroFlashlight. I went straight to work with my next little application, a currency converter. One of the main things i wanted to focus on with this application, was to make sure that it works without an internet connection. I’ve seen some examples in the marketplace that only works when you are online, and to me that’s not a very good solution.

Using myself as an example, I see two scenarios where i’ll be using the application:

– Browsing through reviews about items i might like to buy. Norway is a fairly small country, and we often get new gadgets and stuff later than other countrys. So i often find myself reading articles and reviews from english or american websites. When finding some prices here, i’d like to do a quick check to see how much it equals in norwegian currency.

– Being on a trip to another country and going shopping. I would like to see how much an item i’m buying will cost in norwegian currency.

It’s the last part here that can get tricky when an application only works online. I’m not sure how this might relate to other countrys, but in norway the price of data traffic while outside of norway is at least 10x the price. So turning on your internet connection, and potentially having some application start generating lots of traffic can get very expensive.

Initially i planned on solving this problem by letting my application check for updated conversion rates once a day. It would look something like this (Simplified to deal with the scenario where we have do get new updates):

1. On application startup check if conversion rates have been updated today.
2. Connect to a web service online and get new conversion rates for all currency supported by the application.
3. Store all these values into an XML file in IsolatedStorage.
4. Create objects from the XML configuration that let’s you convert all supported currencies.

While this solution worked, it was not a viable solution due to the time it took to gather all the neccessary values from the web service online. It could take 4-5 minutes to go through the step of asking the web service for all the conversion rates needed for my application.

I figured there were two ways of solving this problem:

1. Sign up for a paid service that would give me the conversion rates i need as an XML file.
2. Move the code that gets the conversion rates from the phone and onto my own server at home.

Since i’m not making any money on application development yet, paying for a service is out of the question. So i chose option number 2.

Status on the project as of today:

I decided to create a windows service that would handle the task of getting conversion rates and creating an XML configuration file.

So far i’ve gotten this service up and running, and im fairly confident it will do the jobb. It checks for new conversion values once a day, and creates an XML file containing all the data i need and stores it on my server.

I’ve done a quick test with a WCF service, and the Visual Studio WCF test client to move that file from my server and to other computers on my local network. So i have most of the code down to do what i need, and i belive it will also work when moving it over to WP7.

IIS is up and running on my server, so i can easily publish my WCF service from my development computer to the server.

I’ve bought myself a domain and got DYNDNS up and running, so i can access my IIS website and WCF service from the web.

I’m going to start tying up the knots soon, and see if i can’t mange to make all of this work together with my WP7 application. Looking forward to having my first XML configuration file downloaded to my phone over the internet!

Posted in Uncategorized | Leave a comment

Windows 8 conference in Oslo

Attended a conference about Windows 8 in Oslo today. The event was hosted by Microsoft and a Norwegian company called ProgramUtvikling AS. The event had a nice program, with everything from Windows Phone Game Programming, Metro design principals, Windows Azure and of course application development for Windows 8.

Me and a colleague from work had decided that we should check this out, and headed into Oslo at around 06.40 am. We found the place pretty easy (Thank you phone GPS), and the first one and a half hour was mostly drinking coffee while waiting for the event start.

The day was scheduled like this:

09:30 – 10:15 Developing Windows 8 apps
– Arif Shafique
10:30 – 11:15 Experiences from the development of Wordfeud for Windows 8
Gøran Hansen
11:30 – 12:15 Windows Azure – The perfect back-end for applications on mobile devices
Olav Tollefsen
1215 – 1315 – Lunch
13:15 – 14:00 Web development turned up to 11
Niall Merrigan
14:15 – 15:00 Metro design principles
Dan Robert (Can’t remember his last name, and it’s not in the agenda i printed)
15:15 – 16:00 So you think you know JavaScript?
Gøran Hansen and Arif Shafique
16:15 – 17:00 Windows Phone Game Programming using XNA
Petri Wilhelmsen

So overall the event covered lot’s of different aspects. Yet most of it tied together quite nicely, like Windows 8 app development, Metro guidelines and Windows Azure.

Some pictures from the presentations:

All the material from the different presentations can be found here:

Windows 8 conference material

The event also had a couple of contests, that featured prizes such as tickets to developer training courses, the NDC 2012 event (Norwegian Developer Conference), some t-shirts and two Lumia 800 Windows Phone’s.

The contests were generally random, like spinning a wheel, random numbers to represent seating arrangements and so on. But the competition for the Lumia phones included some Nokia advertizement in the form of Lumia colored shoelaces.

Me wearing the Lumia shoelaces as wristband @ Windows 8 conference in Oslo!

Arif Shafique also introduced a competition for Norwegian developers where the best 10 apps Windows 8 apps scores the developer a free two year subscription to Windows Store + earlier and exclusive access.

This is a great opportunity for developers looking to get a foothold into the new market that’s going to open up with the release of Windows 8. Check it out at:

http://utvikle.windows.no/

There was also some good food and snacks during the event, and best of all everything was free. So kudos to Microsoft and ProgramUtvikling for hosting an awesome event!

Posted in Uncategorized | Leave a comment

MetroFlashlight reaches 300+ downloads

Since i posted MetroFlashlight to the marketplace a little over a week ago, my download number in marketplace sat steady at around 25-30. I figured this was mostly a few random downloads from while the app was in the “New” section of marketplace + some friends / colleagues who I’ve asked to check out my app.

I have never had any statistics in the reports part of marketplace, just a download and crash counter under “App Highlights”.

Suddenly when i logged in today to check my Windows Phone dashboard in App Hub, i suddenly saw the number of downloads at over 300. Together with a daily downloads report in the “Reports” part of App Hub. The report only seems to cover downloads from release date and until 25 of April.

So to me it seems like there some delay / bug with the download counter in the “App Highlights”, and it also seems like marketplace reports are not updated on a daily basis.

Does anyone have any experience with something similar?

Posted in Uncategorized | Leave a comment

MetroFlashlightPRO is out!

MetroFlashlightPRO is now live! Ad free light for 0.99$! Check it out 🙂

Posted in Uncategorized | Leave a comment

MetroFlashlight v1.1 is out!

The first update for MetroFlashlight is now live @ marketplace. The update fixes some small bugs from release, including the constant notification about allowing the app to silence your music.

An ad free version of MetroFlashlight is also soon going live. If you can’t stand ads, but still want to use MetroFlashlight, check it out! 🙂

Posted in Uncategorized | Leave a comment

Why Windows Phone 7?

I finished my bachelor degree in computer engineering two years ago at Høyskolen i Buskerud, Kongsberg. I went through a bachelor program called “Embedded Systems”, which is a computer engineer degree with some added focus on hardware programming.

From there i went straight to work in a software department of FMC Technlogies here in Norway.

My department delivers HMI solutions for use in the oil & gas industry, with focus on installation and maintenance of subsea oil wells. Our solutions are based on Wonderware System Platform, together with some self made .NET components and other add-ons.

While this is a very interesting jobb, we get to work with some cool systems, travel offshore etc. It’s not much like the programming skills i learned back when i was studying in school (Java, C++, C#, VHDL etc).

So for me not to go completly rusty in the black arts of computer programming, i decided that i should probably do some regulare programming in my spare time. One of the developers in my department spoke very highly of the Windows Phone 7 development framework, and suggested that i give that a shot. He helped me out with some good resources i could use, and directed me to the AppHub page.

So from that point i’ve spent a good portion of my free time reading up on WP7 development, watching some video guides and working on some simple small apps. I have just released the first marketplace update of my first app, MetroFlashlight. And i am also working on a currency converter app that will use web service communication to fetch data, store configuration in XML, and allow for offline currency conversions.

Posted in Uncategorized | Leave a comment

My journey as a developer for Windows Phone

Hello there!

In this blog i’ll write down my experiences with learning to develop applications for Windows Phone under the publisher name of Funtastic Software.

As of today when im writing this blog, i have allready released my very first little app to the Windows Phone Marketplace, called MetroFlashlight. But i will try to create a few blog posts about the steps i’ve been through during the last month to get to where i am today.

This will include how the idea of developing for Windows Phone came too, my first babysteps of development, some of the necessary steps to be able to develop and publish Windows Phone apps, and other experiences i’ve had since i started this little endeavour.

Hope some of you will find this interesting, and that i can create some applications that you enjoy using!

Best regards,

Thomas / Funtastic Software

 

Posted in Uncategorized | Leave a comment