Jan 16, 2014

0 notes
This is exactly how I felt going from creating utility and productivity apps at Mobiento to building digital toys for kids at Toca Boca. A great quote from mrgan found in Offline Mag no 5.

This is exactly how I felt going from creating utility and productivity apps at Mobiento to building digital toys for kids at Toca Boca. A great quote from mrgan found in Offline Mag no 5.

Nov 15, 2012

0 notes

Much needed visual and audible light in the November darkness

Nov 14, 2012

14 notes

iOS Support Matrix v2.0 - Winter 2012

empiricalmagic:

Now incorporating: iPhone 5, iPad mini and iPod touch (5th generation).

After such a positive response to the first version of the iOS Support Matrix we been hard at work with Pencil Studio on version 2.0.

iOS Support Matrix v2.0

An A3-sized version has been uploaded to Flickr, or grab the PDF from DropBox.

Version 2.0 comes with even more data-density; device memory, Geekbench scores and processor family. Feel free to copy, distribute and remix (licence).

Version 2.0 of the great matrix to use when planning iOS and/or device support.

(via empiricalmagic-blog)

Oct 30, 2012

1 note

Hacking the Nike Store: How to buy a Nike+ Fuelband from Sweden (eller hur du kan köpa ett Fuelband från Sverige)

image

A couple of months ago I bought a Nike+ Fuelband. It’s not available in Sweden just yet, so I bought it online - on the Nike Store. I got some questions on how I did that really, cause apparently it’s not supposed to be possible. It seems I “hacked” the Nike Store - but not really. Here’s four easy steps for you to order your own Fuelband:

1. Go to http://store.nike.com/ and scroll down to the bottom. Choose to change store, and select United Kingdom.

2. Find the Nike Fuelband, add it to the cart. Make sure you select the size that fits you though, download and print the size guide to make sure.

3. Head over to checkout, and login to your account. In checkout, locate the country, tap the question mark to change delivery country. Select Sweden and head back into checkout.

4. BOOM! There it is, a Fuelband ready to be shipped to Sweden.

The current price is 2000 SEK - but when I bought it this way I payed 1400 SEK, so this might change further down the road.

Hope you’ll enjoy your new Fuelband!

Jun 15, 2011

1 note

New adventures ahead!

   

image

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

5 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:

image

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.

(via 4stringapps)

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…

(via 4stringapps)

Jan 26, 2011

0 notes

UIButton in UITableView Footer

A quick tip.

imageI 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

imageI’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!

Navigate
« To the past Page 1 of 3
About

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