javierplumey asked: ShareTunes used to pick up on whatever I was already playing in the iPod app on my iPhone. Now it stops the music and prompts me to pick a song manually. How come?

In order to support background scrobbling I had to change the way playback works.

Unfortunately, it is not technically possible to support playback using the iPod app AND run the app in the background.

Due to feedback from users, I thought that most people would prefer background scrobbling over iPod app integration.

1 year ago

ShareTunes Promo Codes

In the spirit of Christmas and to celebrate the fact that iTunes promo codes can now be redeemed worldwide, here are some codes for ShareTunes:

34MW47Y7LXAJ FYRYLK933NT4 KYJ47WNMK74Y EPNXHXW9K3W9 369W4WMJL46L 3LYRRWH7Y97L RYA76M3W67TK TRENKW3YWH4L KP66AEEFPRYA N6KW7HNLXPYE

Enjoy!

1 year ago

ShareTunes 2.0 Beta

Just a quick update on ShareTunes 2.0. ShareTunes has been in the App Store for just over 6 months now. During that time, we have had over 1000 paid downloads and 1800 downloads of the Lite version of the app (which has been live for about 2 months). I would like to thank all the users who have provided encouraging feedback. It’s really cool to hear from people all over the world who share the same passion for music. I appreciate it! I am pleased to announce a beta test for ShareTunes 2.0. I think this version is a huge improvement on the previous in terms of the user interface and the ability to share music with others. Here are some of the features:

  • Improved user interface, inspired by Apple’s iPod app
  • Shuffle songs
  • “Love” this track (Last.FM feature)
  • Share the artist or song you are listening to with other ShareTunes users and social networks, including Twitter and Facebook
  • See what other ShareTunes users are listening to near you
  • Follow other ShareTunes users and comment on the songs/artists they are listening to
ShareTunes 2.0 is now available on the App Store!
2 years ago

Git

I recently decided to use Git for my personal iPhone development projects. A lot of opensource projects seem to be using GitHub lately, instead of SourceForge or Google Code. For those unfamiliar with Git, here is a brief run down … Git is an opensource distributed version control system developed by Linus Torvalds as a replacement for BitKeeper (a proprietary SCM which was being used for the Linux kernel project).

Main Features of Git

Distributed Workflow

Git makes it very easy for developers to work in a distributed nature. A central Git repository can be set up on a server and developers can obtain a complete copy of the remote repository, make local changes (to their own repository) and then push the changes back to the central repository. There are many benefits to using this approach:
  • Git is very fast at generating diffs and providing file history because a complete copy of the repository is stored locally.
  • Each local copy of the remote repository serves as a backup and can be restored to the remote repository if need be.
  • Developers can continue working if the SCM server goes down.

Branch Handling

Branching is fast and more flexible than Subversion.

How I’m using Git

What I found particularly impressive with Git was how easy it is to get a basic repository up and running. Git provides a few options for setting up a repository, you can set up a repository on the local file system or you can use SSH, the Git protocol or HTTPS on the server side. I have a MobileMe account which provides me with 20GB of hosted storage. I can access this through the WebDav protocol over HTTPS. I followed this guide to get a remote repository up and running. I think this configuration is ideal for solo developers as it serves as a backup on an offsite server (2 copies of the repository, one local and one remote). I simply make my changes in my local copy of the repository and then push them back at the end of the day to the remote repository on my iDisk. I am using GitX as a GUI frontend for the Git command line tools. GitX provides basic Git functionality, allowing you to commit changes, view file history and diffs between revisions.

Some Cool Git Features

Stash

This is a particularly useful feature. Ever been working on some new functionality and been interrupted to fix a bug? Stash allows you to stash (save) your local changes and revert your working copy to the HEAD revision. Then you can safely work on a bug fix, commit it and then re-apply the changes you stashed.

Local Branches

Git allows you to create your own private local branches. These branches can be used temporarily and merged into a remote branch or they can be pushed to the remote server if you wish to make the branch accessible to other developers.
2 years ago 9 notes

XCode VS Visual Studio

In general, my experience with XCode has been fairly positive. I’m going to give my honest opinion coming from a Visual Studio background. Please note: I don’t proclaim to be an XCode expert and there may be solutions to some of the complaints I have listed. However, the goal of this post is to provide an insight regarding into the “out of box” development experience for anyone who is considering iPhone/Mac OS development. Whilst significant improvements have been made in the last few releases, I still think it is not quite up to scratch when compared to Visual Studio. Perhaps this can be explained by the fact that Microsoft has a much bigger share of developers than Apple and has spent more time and effort evolving their IDE. Here are some of the things I found frustrating with XCode, compared to Visual Studio:

Window Layout

XCode’s default windows layout opens a thousand windows for debugging and source editing. The first thing I did when I started using XCode was enable the “All In One” window layout. Coming from Visual Studio, this was the only layout I could work with. When you work in “All In One” mode, you can only have one source file open at a time. It would be nice to have tabs for the files you have opened, so you could quickly switch between them without having to scan the project tree to find the relevant file you are after.

Code Sense

XCode’s code completion (aka Code Sense) does not seem to be as smart or fast as IntelliSense. There are some constructs that should be auto-completed but aren’t (at least not to my knowledge), such as property declaration.

Debugging

XCode’s uses GDB as its debugger and provides fairly decent debugging capabilities. However, some debugging features can only be accessed by typing GDB commands in a debugging console. The visual debugger has a few minor annoyances. When inspecting classes from external frameworks (such as Foundation, UIKit etc), sometimes you can see the members and sometimes you can’t. The members are also shown hierarchically, requiring you to drill down to see members of superclasses. Also, expressions are configured in a separate window!

Stability

This is a big one. I could probably count on one hand the number of times Visual Studio has crashed on me over the years. However, XCode crashes at least a few times a week. It’s hard to put a finger on what seems to cause the majority of the crashes I have experienced, but it seems to be an inherent problem with the code completion. I’ve also experienced a very annoying bug which causes all the text to be aligned to the left when the code completion gets its confused.

Integration

XCode does not feel like an IDE, it feels like a text editor that integrates loosly with other components you would find in an IDE. For example, if you want to make changes to the user interface you need to launch Interface Builder. Interface Builder is launched as a separate application, with another multitude of windows being opened! I think some improvements could be made here to make development more productive. Why can’t we edit our UI in a pane within XCode? It’s good that XCode works with all these different tools (Instruments, Shark, Interface Builder, GDB etc). But all these things should be more tightly integrated presented within XCode. I shouldn’t have to know that it uses Interface Builder for the UI, GDB for debugging, Instruments for inspecting memory leaks, Shark for something else.

Conclusion

From the above critique, you might get the impression that I have been fairly scathing of XCode. I am being critical, because I enjoy iPhone development and would like to see XCode evolve enough to compete with the likes of Visual Studio, Eclipse, IntelliJ and others.
2 years ago 8 notes