Better Location Sharing with Shareloc

It’s finally been done and I’m very happy to see Shareloc in the iOS App Store. The first prototype was created almost a year ago, the backend api has been rewritten 3 times and the app already shows its second redesinged UI. Overall I’m very satisfied with the current state and looking forward to push the app further.

Why yet another location sharing app?

Good question and I heard it a lot telling people about Shareloc. So I want to explain you how it all came together. In the beginning there was a simple need. I just wanted to share my location with my wife and my friends. And in this case there are not only alreadx exisiting some apps for that, it’s an iOS integrated feature. So I used it and I was disappointed because it didn’t work as expected. Then I tried other location sharing services on iOS including glympse, facebook and google maps. But none did satisfy all of my requirements and those are not that special in my opinion. Basically there are 3 obvious features that I want:

  • Ease of use: It has to be really easy and fast to use. If it takes me more than 5 seconds to share my location, I probably won’t use the app.
  • Accuracy: The shared location should be as accurate as possible. If the person I shared my location with only knows my position up to 100 meters accurate, then location sharing looses some use cases for me.
  • Speed: The update interval for my location should not be limited. If there is a new location available, it should be available to my shared contact immediately.

And then there is a fourth and implied feature: security! It’s not last because it’s least important, it’s here because the user can’t see it. You maybe can check if the data transfer is encrypted, but you don’t know how long the location data are stored and with whom they are shared.

As all services I tested did at least fail two of those features I created a small prototype testing if the GPS on the iPhone was accurate enough to fulfill my needs. As it turns out: Yes! And now here I’m presenting Shareloc the location sharing service living up to my and hopefully also your needs and expectations.

How are you making money with a free app?

In the current state: I’m not and that is fine for me. I’m a freelance software developer and Shareloc is a some kind of work sample for people who may want to hire me. Also the operating costs of Shareloc are pretty low, so don’t expect the app to loose it’s current „free“-pricetag.

That doesn’t mean there are no plans to monetize the app at all. In the future it might be possible to buy some extra features via an in-app-purchase or make little donations, but that are still dreams of the future.

What’s next?

Shareloc is working great as it is, but it is still an 1.0, and the plans for 1.x- and 2.x-versions have been around since the beginning. During the developement and beta testing I created a backlog of ideas and feature requests that I’m now prioritizing. Also if you have a feature request please use the contact form on the Shareloc website to share it with me.

Also if you like Shareloc and would like to see new features before everybody else, just let me know and I will add you as a beta tester.

 

Meine erste eigene iPhone (Location Sharing) App

Der Vorsatz eine eigene App im Apple Store zu haben besteht schon lange, doch irgendwie hat es bis jetzt nie geklappt. Und das obwohl ich schon 6 Jahre für die iOS Plattform programmiere. Nachdem ich inzwischen sogar selbständiger iOS Entwickler bin, konnte ich diesen Umstand so nicht belassen. Es blieb die Frage was die eigene App eigentlich machen bzw. welches Problem sie für mich, aber vor allem die Nutzer, lösen soll. Die kurze Antwort darauf ist: Location Sharing. Der primäre Grund dafür ist, dass ich mit den vorhandenen Lösungen unzufrieden war. Entweder waren diese zu umständlich, die Nutzeroberfläche nicht durchdacht, der Dienst zu langsam, ungenau oder unzuverlässig. Damit waren auch schon die Ziele der neuen App definiert: Einfach, Schnell, Präzise, Zuverlässig und da es hier um Positionsdaten von Nutzern geht, mit höchster Priorität auch Sicherheit.

Weiterlesen

Custom compass position in MKMapView

For map views in native iOS apps MKMapView is my first choice. While implementing an map based app I came to the point where the compass was showing under a menu component. This is because the default compass position is in the top right corner of the map view. So there were two solutions to the problem:

  1. Change the position of the compass
  2. Remove the compass and implement a custom one
Custom compass position in apple maps app

Custom compass position in apple maps app

Although the second option sounded tempting, the first one seemed to be the obvious choice. But then I learned that the MKMapView doesn’t let you do anything with its compass besides the possibility to show or hide it via the ’showCompass‘ function. I was surprised by this fact, because on the iOS default map app you can see the compass on a custom position.

 

Weiterlesen

Awake – An OS X Wake-on-Lan Dashboard Widget

Awake Widget

Looking for an easy-to-use OS X Wake-on-Lan Dashboard Widget? Then you are right here. But first things first.

What is Wake-on-Lan

Wake-on-Lan is a feature many network enabled devices implement to switch on the device via the network. If Wake-on-Lan is enabled on the device you just have to send a so called „magic packet“ to the device and it turns on. All you need to know about the device is its MAC address, a globally unique id, every network device has. This is especially helpful if you don’t have physical access to the device like a server in a datacenter. As there is no real magic in the creation of the magic packet there are lots of applications out there supporting Wake-on-Lan.

Weiterlesen

E-Mail-Bilder mit OCR auslesen – Harvester lernen lesen

Die Impressumspflicht zwingt quasi jeden Betreiber einer Webseite ein Impressum einzubinden. Hier müssen einige persönliche Informationen angegeben werden, was im Internet auch schnell mal missbraucht wird. So ist schon lange bekannt, dass sogenannte Harvester durch einfaches parsen von Webseiten unter anderem E-Mail-Adressen sammeln, die dann für den Spamversand genutzt werden.

Aus diesem Grund wurden schon viele Methoden entwickelt, um das einfache Auslesen der E-Mail-Adresse zu verhindern. Einige basieren auf der Manipulation der Anzeige über CSS oder Javascript, da die Harvester, zumindest bis heute, nur den html-Quelltext der Webseiten durchsuchen ohne Javascript und CSS zu interpretieren. Einen interessantes Projekt in diesem Zusammenhang findet man hier: http://www.drweb.de/magazin/wirklich-wirksamer-schutz-fr-e-mail-adressen/

Doch in diesem Artikel möchte ich mich mit einem anderen Schutzmechanismus beschäftigen. Mit der Verwendung von Bildern, auf denen die E-Mail-Adresse geschrieben steht, sollen Harvester ausgetrickst werden, da sie den Text nicht lesen können. Oder etwa doch?

Weiterlesen

PDFs verkleinern mit dem Mac

Auf einem Mac lassen sich PDF-Dateien ohne zusätzliche, meist kostenpflichtige, Anwendungen verkleinern. Hierfür reicht es das Dokument mit der integrierten Vorschau zu öffnen und über den Menüpunkt „Ablage > Exportieren“ erneut abzuspeichern. Dabei muss nur der vordefinierte Filter „Reduce File Size“ gewählt und gesichert werden.

Mit Filter exportieren

Mit Filter exportieren

 

Die Einstellungen des Filters können dabei aber nicht auf eigene Anforderungen angepasst werden. Da Bilder und Fotos mit der Standardeinstellung sehr drastisch komprimiert werden, habe ich einen anderen Weg gesucht und gefunden, um die Grafiken nicht unnötig zu verpixeln. Weiterlesen

Zu scharf – Wieviel HD brauchen wir wirklich?

Mit Einführung und Verbreitung von HD-Technologie und -Inhalten, besonders im TV-Bereich, hat es angefangen. Doch HD ist uns heute schon nicht mehr gut genug, es muss schon mindestens FullHD sein. Dass sich der Trend weiter fortsetzt, zeigt die sich bereits in den Startlöchern befindliche 4K-Technologie mit der alles noch schärfer und besser werden soll.

Aber unser Alltag wird immermehr von Bildschirmen aller Art dominiert, ob Werbetafel, Smartphone, Smartwatch, Tablet PC, Notebook oder der gute alte Monitor. Dabei kommen viele verschiedene Größen, Auflösungen und Technologien zum Einsatz, doch für eine gute Darstellungsqualität sind zwei Faktoren ganz entscheidend: Die Pixeldichte und der Betrachtungsabstand. Idealerweise können wir mit bloßem Auge die Pixelstruktur der Displays nicht mehr wahrnehmen, was die biologisch maximale Bildschärfe beim Menschen darstellt. Technisch lässt sich die Pixeldichte zwar noch erhöhen, wir werden aber keinen Unterschied mehr „sehen“ können. Das kann sogar negative Effekte haben, bei einer zu hohen Pixeldichte im Verhältnis zum Abstand lassen sich nicht mehr alle Details wahrnehmen.

Weiterlesen

Ribbon XML in Microsoft Office Addins

Der folgende Artikel befasst sich mit der Erstellung von Oberflächenelementen in Microsoft Office Addins, welche Probleme autreten können und wie man Sie lösen kann. Die Code-Snippets und das am Ende des Posts bereitgestellte Beispielprojekt beziehen sich auf ein Outlook-Addin, die verwendeten Techniken lassen sich aber auch direkt auf Word- oder Excel-Addins anwenden.

Designer vs. XML

Wenn man mit Visual Studio eine GUI für ein Microsoft Office Addin erstellen möchte hat man die Wahl, ob man mit dem grafischen Designer oder direkt im XML-Editor arbeiten möchte. Sicherlich ist die erste Variante einfacher, beschränkt sich aber auf das Erstellen von Ribbons. Manche Anpassungen der GUI, wie zum Beispiel das Kontextmenü, können somit nur per XML-Datei manipuliert werden. Leider lassen sich die unterschiedlichen Methoden nicht mischen¹, man muss in komplexeren Szenarien durchgängig die Oberfläche in XML beschreiben.

Weiterlesen