Jun 15, 2011

0 notes

New adventures ahead!

   

Almost to the day ten years after joining Softhouse I’m moving on to a new adventure: in August I’m starting as a Producer / Technical Project Manager at Mobiento.

It’s a bit emotional to leave Softhouse. In June 2001 I started my Master Thesis project at Softhouse in Malmö. 6 months later I joined the small team of about 25 consultants as a Softhouse employee. Now 10 years later, Softhouse has grown to more than 100 employees in 4 offices, where I was part of starting up the Stockholm office in 2007 as a partner. Leaving Softhouse, I will remember all the good times, the very first assignment in Malmö, the startup time in Stockholm (we didn’t even have an office), and all the excellent and funny people I’ve been working with, and so much more. It’s been great times, but as much as I’m looking back, I’m even more looking forward.

Joining Mobiento means working with world class mobile experiences. We’re truly in the middle of a mobile revolution, and to be able to work in the forefront of mobile solutions is really exciting. For me, delivering user experience has always been the primary focus, which I will now dive into even further at Mobiento. Leaving coding behind is a big step for me, and I’m looking forward to focusing only on project management using agile methodologies. I will probably still be coding on my spare time though.

Right now, there’s a series of radical changes in my life at the same time, and this is part one. Stay tuned for more!

May 20, 2011

4 notes

Details on Dropshop synchronization implementation

This wednesday I gave a talk at Softhouse about how I solved the synchrozation in Dropshop. In short, I deployed a RESTful web service on Google App Engine using Jersey which implemented a protocol used by Evernote for a really simple way to synchronize shared data between any number of clients. This might be the subject for a more comprehensive post, but in the mean time you can look through my presentation below.

Apr 11, 2011

1 note

4-string Apps: Introducing: Dropshop

4stringapps:

A few weeks ago our latest iOS app went live in the app store: Dropshop.

Dropshop helps you with your day-to-day grocery shopping - simple,

 smart and in sync.

Mar 23, 2011

2 notes

4-string Apps: Kill your darlings!

4stringapps:

When I started the Shopping List project, a long long time ago, I had a vision of my product and summarized that vision in the post Features in a great Shopping List app.

One of the key features I listed was the ability to sort items into different categories, which gives nice visuals and…

Jan 26, 2011

0 notes

UIButton in UITableView Footer

A quick tip.

I implemented a login/registration form in a UITableView, and needed a login button somewhere. Sure, I could have opted for rightButtonItem, but I wanted a big large button just below the form. So, I searched the interwebs and found a lot of sample codes. I followed this solution where I inserted a UIButton into a container UIView and returned that view in the delegate method 

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section

The problem

Nothing happens when I click the button. Nada. I couldn’t get my head around it; the selector was in place; the UIControlEvent was correct; the UIButton was added as a subview to the returned UIView; the UIView was indeed displayed as the section footer.

The solution

Turns out, I skipped ahead a bit, and forgot about step number 2 where you specify the height of the footer view using

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section

So, with this missing, the view is displayed, but does not receive any UIControlEvents at all.

The tip

Do not forget to implement the tableView:heightForFooterInSection: delegate method when adding a custom footer view to your table view.

Jan 19, 2011

0 notes
Fråga barnet om de ser apan i linsen så ska ni få se hur de gör allt för att titta in i kameran och leta efter en apa. På så sätt fångar man många bra bilder har jag märkt.

Dag Tretton: Det bästa med att laga mat… | Fotoblogg | Carlbom Foto

A great tip to get kids attention when taking their picture - ask them to look for the monkey in the lens.

Nov 22, 2010

0 notes
Nov 18, 2010

1 note

How to solve DatastoreNeedIndexException on Google App Engine

I’m writing an iPhone application that synchs content to a server. Right now I’m in the final stages of testing the server, which is written in Java and running on Google App Engine.

However, In a certain workflow, my application returned a 500
error with the following entry in the logs:

Uncaught exception from servlet com.google.appengine.api.datastore.DatastoreNeedIndexException: no matching index found

According to the docs 

[…] every query you run automatically gets indexed when necessary. If you thoroughly test your application before uploading it to your website, all of the indexes your application will need will be included in your application’s datastore-indexes.xml […] You may manually add indexes if you find a query that was not covered by your development testing.

I have nearly a hundred unit test cases covering most of the logic in my application, and I double checked that it indeed was covering this case too. To be extra sure, I went on and wrote a new test case, simulating the exact case of the workflow generating the error. But still, the entry in the datastore-indexes.xml was missing.

Not until I ran the application locally for the live workflow, the needed entry was included in the XML file. After re-deploying the application to Google App Engine, the problem was solved.

So, if you don’t want to edit your index files manually, remember that the local unit test cases will not get your indexes automatically configured!

Nov 17, 2010

0 notes

Meeting the CocoaHeads | Brickmark

Last Monday I listened to a very interesting talk by Emil Ovemar (@eovemar) on kids play on touch screens. There’s a lot going on in this field, as you can tell by the slides below, and Brickmark is Bonnier’s investment in this field. It’s going to be interesting to see what their first creation will be.

Playtime!

View more presentations from Brickmark.

Nov 16, 2010

0 notes
Jag kan skriva av adressen på ett papper och skriva in den i programmet i en helt annan dator och uppnå samma effekt.

Textarkiv ©Tomas Carlsson :: Så olagliga är länkar :: November :: 2010

Väldigt intressant om domen från tingsrätten i Hudiksvall där en 32-årig man länkade till en videosändning från Canal Plus, där man genom att gå in på länken kunde kringgå betalningssystemet och se strömmen gratis.

Citatet ovan är ganska talande. Om mannen i stället för att publicerat länken på sitt forum, där 20-30 personer anses ha sett länken, skrev av den på en papperslapp och visade papperslappen för sina vänner - är det också att betrakta som en brottslig handling?

Tingsrätten är helt ute och cyklar här, och detta är bara ännu ett bevis för hur upphovsrättsinnehavarna krampaktigt klamrar fast vid sina gamla affärsmodeller och fumlar och tvekar när de ger sig in i nya moderna affärer.

Nov 15, 2010

0 notes


The new Facebook Messages seems like a realistic approach on redefining email. Yes, I’m talking about you Google Wave.

In the video above, they do have some solid points on the current flaws with email. 3:01 in:

When looking at Facebook messages, the top three subjects were no subject, “Hi!” and “Yo.”. It’s not a great way to organize conversations.

Indeed.

On Twitter, @atebits, said

Guys, this is not Wave. This marginalizes email with something simpler, Wave tried to replace email with something incomprehensible.

Simpler doesn’t mean it’s not better. KISS!

Nov 15, 2010

0 notes
Yes, that´s one of the best things with RunAlong, its motivating and you meet new interesting people. Run + Intellectual talk = win.
Run + Intellectual talk = win.
Nov 15, 2010

1 note

Default section header font in UITableView

When coding a UIActivityIndicator next to the title in a UITableView section header, I needed to recreate the default style of the section header. This code helped me, but I created a custom view class, so I can re-use the view in several table views in my app. 

Oct 31, 2010

56 notes
niclasj:

LOL!

niclasj:

LOL!

Oct 31, 2010

0 notes
Omslag — Om jag var din hemmafru på Taffel.se
I have high expectations on this. I mean look at the cover. The book is based on a funny blog with great recipes. Who’s ever heard of that before - a funny cook blog? 
Way high expectations.

Omslag — Om jag var din hemmafru på Taffel.se

I have high expectations on this. I mean look at the cover. The book is based on a funny blog with great recipes. Who’s ever heard of that before - a funny cook blog? 

Way high expectations.

Navigate
« To the past Page 1 of 2
About

I'm Fredrik Hansson, a swedish software engineer. More about me. Subscribe via RSS.