Tuesday
Dec132011

Icebird Is Now A Codenauts App

We are happy to announce that Icebird for iPhone is now a Codenauts app. We hope to continue the great work @fabiankr has done when creating Icebird and will do our best to move the app forward.

If you haven't heard about Icebird yet, you should check out this page: www.icebirdapp.com.

Transition Phase

Buying an iOS App from someone else isn't an easy task due to some restrictions of the App Store. Most important: you can't move an existing app to a different developer account. This means that if you want to get updates to all existing users, you have to update the existing app in the existing account. Leaving the app in Fabian's account would mean that all financial transactions would continue to run through him, which makes things complicated in several ways.

So here is our plan which hopefully is the best for everyone.

  • We just submitted Icebird Lite as a new app in our own App Store account. The app will be free of charge for the foreseeable future.
  • We will issue an update to the existing Icebird app which will inform all users about the new Icebird Lite app and suggest downloading it.
  • We will remove the existing app in a few weeks.

If you already use Icebird, you probably know that the direct message support is currently broken. This is because the app implemented the old xAuth authentication process for the Twitter API. Therefore the new Icebird Lite app will use the OAuth authentication process and direct messages will be working again! We also fixed a few minor iOS 5 issues and added the HockeySDK to get more information about crashes.

And don't get fooled by the name, Icebird Lite has all the features of the existing Icebird App. We only choosed Lite to have a better distinction as soon as Icebird 2.0 is ready.

What's next?

We have already started working on Icebird 2.0, which will be a new app and sold separately to Icebird Lite.

Here are some things we plan for 2.0:

  • Shake the dust of Icebirds plumage
  • Tweetmarker support
  • Use of the Twitter accounts in iOS 5
  • Performance, Performance, Performance!

We are also thinking about the following features, but haven't made a decision yet:

  • Push Notifications
  • Inline images
  • Mute filter

If you miss a feature or have other suggestions, please send us a tweet to @icebirdapp or comment below. We hope that Icebird Lite gets approved soon.

tl;dr

Icebird is now called Icebird Lite, it's the same app, no ads and no features removed. It will be free. We are working on Icebird 2.0 which will sold as a second app soon as it is ready

Sunday
Apr242011

Coming soon...

We started working on the iPhone version of Pomodoro App back in December and had hoped to release it this March. Obviously this did not work out and we are behind our schedule, mainly because design challenges that took more time than expected and other client work. Our current plan foresees another development phase plus the usual beta testing and bug fixing.

To shorten the wait for some of you, we have decided to extend our group of beta testers. If you are interested and have an iPhone or iPod Touch with iOS 4.0 or better, please send us the UDID of your device. Here's a short description, how to find it:

  1. Plug your iPhone or iPod Touch into your Mac or PC and wait until iTunes recognizes it.
  2. Select your iPhone or iPod Touch from the devices list in iTunes and click the tab "Summary".
  3. Click on the word "Serial number" beside the picture of the iPhone or iPod Touch and you should see the word "Identifier" and an alphanumeric string – this is your UDID.
  4. To copy it, just press Cmd+C (Mac) or Ctrl+C (Windows); you can't select the string, but iTunes will copy it nonetheless.

Finally paste the UDID into an email, add the kind of your device (e.g. iPhone 3GS) and send it to info@codenauts.de. We will select 15 testers on a first-come, first-served basis.

Update (2011/06/24)

We are still working on the beta version. Due to the introduction of iOS 5.0 and the iCloud service, we moved the release schedule once again to support all the new stuff and enable the best experience possible. If you are interested in the beta, we have still some tester spots open.

Update (2012/01/11)

Our beta is currently running and all tester spots are full. We will post a more detailed roadmap later this month.

Tuesday
Mar012011

Importing Activities from OmniFocus or Things to Pomodoro App

This article is split into two parts: The first one describes the technical background of our Dropbox integration, the second one shows the steps to import activities from OmniFocus or Things to Pomodoro App. Feel free to skip the background information if you just want to get started. :)

 

Background

One of the new features of Pomodoro App 1.3 is the integration of the Dropbox API. It currently serves as a simple mechanism to backup activities or move them to a new device, but you can actually also use it import activities from your Mac or PC.

When the app creates an export, it writes a JSON file to the folder "Pomodoro". The file is named after the unique identifier of your iPad, so that every device creates exactly one file. On the way back, the app imports all files with the extensions .json from the same folder. The JSON file looks like this (JSON is human-readable so you can read and edit the files with your favorite text editor):

[
    {
        "pomodoros": [
        ],
        "estimate": 4,
        "list": 0,
        "interruptions": [
        ],
        "subposition": -1,
        "position": 184,
        "updatedAt": "2011-02-27 11:05:24 +0000",
        "state": "active",
        "identifier": "23AF0D78A25FB08AC7F7319C4BCCCC8B",
        "title": "Multi-line edit of expense text"
    },
    {
        "pomodoros": [
            {
                "createdAt": "2011-02-27 10:40:24 +0000",
                "length": 1500
            },
            {
                "createdAt": "2011-02-27 10:04:22 +0000",
                "length": 1500
            }
        ],
        "estimate": 3,
        "list": 1,
        "interruptions": [
            {
                "external": 0,
                "createdAt": "2011-02-27 10:05:31 +0000",
                "internal": 1
            }
        ],
        "subposition": -1,
        "position": 183,
        "updatedAt": "2011-02-27 11:05:24 +0000",
        "state": "finished",
        "identifier": "23AF0D78A25FB08AC7F7319C4BCCCC8B",
        "title": "Add view for manual categorization"
    }
]

Here we have two activities: The first one is in the Inventory, has the title "Multi-line edit of expense text" and an estimated number of four Pomodoros. The second one is in Today's list, has the title "Add view for manual categorization", an estimated number of three Pomodoros, but also two executed Pomodoros and one internal interruption. Moreover, it is marked finished.

You could edit this file, change the titles or estimates and then reimport it into the app. Although this would work, we recommend against it as the exported file might be pretty big and the process is error-prone (e.g. if you forget to create a new export and edit an old file instead, you would overwrite newer data such as Pomodoros or interruptions). A better solution is to create a new file in the same folder and rename existing files (e.g. to old.json.bak) so that the app only imports the new file. When creating the new file, you only need to specify 3 fields: title, estimate and list.

[
   {
       "estimate":3,
       "list":0,
       "title":"New Task 1"
   },
   {
       "estimate":2,
       "list":0,
       "title":"New Task 2"
   },
   {
       "estimate":4,
       "list":1,
       "title":"New Task 3"
   }
]

Save the file as tasks.json, then tap "Import" in the app and it will create three new tasks: "New Task 1", "New Task 2" and "New Task 3". The first two are put into the Inventory (the field "list" is 0) and the last one into Today' list (the field "list" is 1).

 

AppleScript from Zettt

10 days ago, our local developer group had its monthly meeting. One of the members is @zettt, who creates great screencasts at Mac OS X Screencasts and saw Pomodoro App at this meeting. After some time playing with it, he came up with the question whether it would be possible to import his tasks from OmniFocus into the app. We discussed serveral ways and did some collaborative hacking with AppleScript, which resulted in a blog post from Zettt and two script files: The first one works for OmniFocus or any content from the Clipboard (one task per line); the second one takes all selected tasks from Things. You can use them as follows:

  1. Download the script for OmniFocus or Things.
  2. Extract the downloaded .tar.gz file.
  3. Open the .scpt with a double-click.
  4. Switch to OmniFocus, select a number of tasks and copy them to the clipboard (Cmd-C); or switch to Things and just select a number of tasks.
  5. Switch back to AppleScript and hit the "Run" button. The script should detect the selected tasks and bring up a small dialog to input the estimated number of Pomodoros for each for it.
  6. After the last task, the JSON file is created in your Dropbox.
  7. Take your iPad, open Pomodoro App, tap the settings button, then Dropbox > Import. After the import is done, you should see your new activities in the Inventory.

If this does not work for you, please let us know and leave a comment or give us feedback via our contact form or email.

Wednesday
Jan262011

Pomodoro App 1.3

We're pleased to announce that today Pomodoro App 1.3 was accepted in the App Store and should be available soon. The update brings a number of changes:

  • In previous versions of Pomodoro App, you had to add new activities always at the top of the list and editing took place within the list. We changed this design by moving the input field to a popover, which floats above the list near the upper border of the keyboard. The list itself can be used to select the insertion point of a new activity. If no activity is selected, new activities are added at the top of the list; if an activity is selected, new activities are added below this activity. You can also change the order of the activities.
  • Tapping the number of Pomodoros (or the play icon when the timer is running) brings up a revised status popover. This popover shows the number of Pomodoros and the number of each internal and external interruptions. You can expand all three lists to see the time when a Pomodoro was executed or an interruption was added. You can swipe an entry to delete it. Interruptions also have a detail view to add a comment to the interruption and create an activity out of this comment.
  • We completely redesigned the settings view to give you more options for customizing the app:

    • Choose between 4 different fonts: Bradley Hand ITC, Chalkboard, Helvetica and Marker Felt
    • Change the default length of Pomodoros and breaks to up to 60 minutes
    • Choose to let the ticking sound continue even if the app is in the background (iOS 4.2 only)
    • Activate auto-archiving to move activities out of Today's list when the day changed
    • Export and import your list of activities as a JSON file to Dropbox

    The Dropbox features is the first step to a sync solution betweens different devices. In its current state, it exports the complete database of Pomodoro App as a JSON file to the directory "Pomodoro" in your Dropbox. If the directory does not exist, it will be created. Each device writes its own file and uses the Unique Device Identifier (UDID) as the filename. The import reads all JSON files from the same directory in order of the file's modification date. It will create new activities, but not delete any activities. Duplicate activities will be overwritten with the data in the JSON file, e.g. the number of Pomodoros will be reset to the previous value. If an activity exists in more than one JSON file, the newest file wins.

    We are aware that this is not a complete solution, but we thought it is already useful enough to release it to our customers, e.g. if you want to move to a new device. We are already working on to extend this feature for real over-the-air sync.

  • Last but not least, we added two options to the archive to export the complete archive and to remove already exported activities from the archive. The idea behind this is that you export your archive once a month or quarter for your records as either a formatted e-mail or a CSV file. The activities are then and only then marked as "exported", i.e. the daily reports do not count as an export. Afterwards you can delete all exported activities from the archive.

As usual, we'd love to hear from you. If you find a bug or have an idea for a feature, please leave a comment or give us feedback via our contact form or email.

Tuesday
Nov162010

Pomodoro App 1.2

Today, the latest update of Pomodoro App went live in the App Store. It brings a number of bug fixes, but also 4 new features:

  1. The app now shows the sum of actual and estimated Pomodoros for each day in the archive.
  2. It is now possible to send an email for each day from the archive. The email can either contain a formatted report or have attached a csv file with the raw data. Both the report and the csv file include the description of the activities, the number of actual and estimated Pomodoros as well as the number of internal and external interruptions.
  3. The trash icon has a new option: Besides "archive" and "delete" you can now "reuse" an activity. This option will archive the activity and puts a copy of it back to the inventory at the same time. This is particularly helpful for recurring tasks like "Inbox to zero", which you might want to do every day.
  4. The app now supports TextExpander touch snippet expansion. With TextExpander touch, you can type faster using short abbreviations that expand into long snippets. Read more about it on the SmileOnMyMac Homepage or buy it directly from the App Store.

As usual, we'd love to hear from you. If you find a bug or have an idea for a feature, please leave a comment or give us feedback via our contact form or email.