Xamarin Android: You are trying to install this package into a project that targets ‘MonoAndroid,Version=v2.2’

Today I created a new Xamarin Android project, and I wanted to test out Material Design on my phone (still runs 4.4.2) using the revamped AppCompat v4 library. To my disappointment I was unable to install the AppCompat NuGet package:

Turns out this can be a common problem when using Visual Studio and the “Compile using Android version” is not explicitly set. The default in my case is “Use Latest Platform”. What this does is making VS to add the proper TargetFrameworkVersion property in the .csproj file. It seems that sometimes this does not get set at all when creating a project and “Use Latest Platform” is set. Weird. In any case, setting this explicitly fixes things and NuGet understands which version of MonoAndroid to use. The default is 2.2, but we want something newer, preferably Android Version 5.

So change this:

01-compile-using-latest

To this:

02-compile-with-21

Reload the project when asked by Visual Studio and install the package again!

Thanks to the awesome community over at the Xamarin Forums for being on top of this already — check out the post here.

UPDATE: Haha, never mind the blurred out assembly name in the first image. Don’t know why I did that ūüėČ

Why I pirate movies and feel good about it

I’ve been trying to write this post for a while now, and you have no idea how many times I’ve redone it, so here it goes:

Ever since the introduction of public (high-speed) internet there has been piracy: movies, games, tv shows, music, whatever, you name it. Nothing new here. I’ve been a “pirate” since we got cable internet since my early teens. Back then I had no money, no way of obtaining this material, and the good thing piracy has always brought with it, is exposure. There’s no way I would have had the same exposure to movies, games, tv and music if the concept of downloading it free off the internet didn’t exist. No way.

If we fast forward to today, I’ve solved my money issue, and Norway has and is becoming increasingly international. I’m guessing in a few years we won’t speak Norwegian anymore. We’ll speak in memes, abbrevations, and English. Ok, it’s not that bad, but it’s not a far fetched idea. To get back on track; Norway is following USA tightly in what media gets released, so the exposure problem is in some areas like movies and tv shows not an issue anymore.

Then why do I still download stuff off the internet for free? And how can I speak so freely about it?

To begin I’m not downloading as much today as I did back then. Just the other day I rented two movies from Xbox Video, which almost worked perfectly (small issues with the stream), so I am definitely moving in the right direction.

Wait up. It’s not really me who’s moving in the right direction. There are some in the industry that has slowly begun to realize how consumers want to consume their media. Today we have services like Spotify, Netflix, Xbox Video, Xbox Music, HBO, Viaplay, the list goes on, that provides unlimited access to content in exchange for a small amount withdrawn from your wallet each month. The only problem here is that they all vary in how much content they provide, so a small amount can quickly escalate to A LOT withdrawn each month.

Take me as an example. I use these services regularly and pay for it:

  • Spotify
  • Netflix
  • Xbox Video
  • Xbox Music

And I’m quite happy with giving my money; they are good services that provide plenty of content with a good user experience. That’s where the industry should put their focus and their money at. Thinking new, thinking ahead, think different!

The criterias I put forward for a service that suits me (and I’m guessing a lot of other people):

  • Needs to have a lot of content (good content is always preferable)
  • Needs to be able to deliver it to me instantly (streaming right?)
  • Needs to be ad-free (there’s nothing more disturbing than buying a movie and having to watch 10 trailers and the “YO fool, don’t steal shit”-movie before the menu appear)
  • Needs to be fairly priced
  • High quality

Based on that, I download stuff illegally when:

  • I can’t find what I’m looking for in the services I pay for
  • It’s not good enough quality
  • The only legal way is buying a hard copy. Ugh.
  • There’s no way I’ll be able to afford it in one years worth of salary

There’s probably a lot of other smaller reasons that will influence my decision to pirate or not. Like when the industry goes bat shit crazy and snuggles up with the government to try to impose a tax on our internet access due to lost income. Or when the government replies that they’re actually considering it. Come on guys, wake up.

In the end I feel good about it. I’ve set up rules and guidelines, and if the industry can’t please me as a consumer then I know the pirates will be able to.

(no calling the cops or lawyers, please ūüėČ

Project of the Week #3 – Day 7

Welcome to the last day of Project of the Week for the third week in 2015. I started off great the first days, but due to other activities I haven’t been able to do anything the last couple of days. Since it’s already afternoon this will be quite interesting to see if I can:

  • Test the mobile service
  • Create a login page in the app
  • Display schedule for current day
  • Create the detail page for a session
  • Post comment
  • Attend/Not attend session

Let’s not give up before we’ve started, but this seems like a great amount of work to do in one day, but let’s just begin. Continue reading to see how it all fares.

Project of the Week #3 – Day 6

Unfortunately, what (usually) happens after going out the night before, the motivation for doing any work is reduced considerably, so day six has been a total still when it comes to the continued development of the app.

Project of the Week #3 – Day 4

It’s day 4, only three more days to go. Today we’re looking at the rest of the¬† API-endpoints: posting comments, creating a profile and setting participation status.

Before we begin I’ll just want to clarify the numbering scheme I’m using for the “Project of the Week” series. The #3 would in most instances indicate that we’re on “episode 3” or this is the third edition of something, but in this¬†particular case the number signifies the weeknumber in 2015. Weird. In any case, lets continue the coding session where we left off! ¬†(after the break)

Project of the Week #3 – Day 3

Welcome to day 3 of Project of the Week for the the third week of this year. Today there’s a little more tech to show off, as I’ve started on the back-end that will be powering the app. Just to recap, this week is about retrieving the schedule for a particular day for the Microsoft Build conference. Basically, see¬†sessions per day, and then being able to nagivate to a detail page for that session where the user will be able to post a comment and see who’s attending. Yesterday I spoke about including a live chat as well for each session, and if there’s time I will implement it, but for now lets try to keep the scope down.

Keep on reading for the good stuff

Project of the Week #3 – Day 2

Hi guys, so day 2 has been disappointing. I fell asleep on the couch after dinner and haven’t been able to do any actual work with the project yet. I did however think a little about what might be available in the detail page when you tap a session in the schedule:

  • Comments/Chat — Here attendees can post comments (or chat) before, during and after a session
  • Live — this might be the chat portion, not sure.¬†I originally thought it might display the actual broadcast, but I’m not sure if that’s going to work
  • Participating — see who’s participating in this session
  • Controls for rating a session, joining/leaving a session

With some ideas in mind I sketched this just now to illustrate it:

week-1-schedule-detail-view-phone

That’s all I have for today, stay tuned for tomorrow and thursday, when we’ll start coding something for real ūüôā

Check out the other posts for this week:

Day 1
Day 2
Day 3

RuterReise featured in the Windows Phone Store

Last week I got some good news regarding the app we at Shortcut did for Ruter, the organization in charge of the public transportation service here in Oslo. The app is RuterReise, and it now has become a featured app in the Windows Phone Store! For me, it’s a¬†first, and for the company¬†it’s¬†a first on the Windows Phone Store for sure.

In case you’re not familiar with the app, it’s a great tool for planning your journeys¬†or seeing when a bus departs. Take a look at it here at Windows Phone Store.¬†I’ve posted some screenshots below so you can get a quick peak:

 

 

 

 

 

 

 

If you have a Windows Phone and live in Oslo/Akershus, be sure to download the app!

462x120_WPS_Download_cyan

Project of the Week #3 – Day 1

Happy new years everybody! We¬†are just at the starting line¬†of 2015, and¬†one of¬†my goals this year is to be more productive. Productive in my own definition is the art of starting, working and finishing a project. The project itself can be anything from creating an app, conceptualizing a service, decorating a room etc. The idea I came up with is “Project of the Week”, where I decide on a project to do for a week starting on a Monday with deadline on Sunday evenings.

Due to the short deadline I’m hoping this will make me better at scoping projects, estimating and setting realistic goals. It’s very important that¬†by the end of the week I have a finished product, or if it’s part of something bigger that I have a working version.

For this week I have decided to create an app called “Build Attendees” for Windows Phone.