Eternity 1.6.1 is available on App Store with the following new features:

Favorites/Recents

favorites_1.6 favorites_edit_1.6

You can add activities to Favorites when editing them, you can add from the Favorites edit screen. You can also auto-generate your Favorites list from the top 10 most frequently used activities in the last 7 days. Our lifes are usually structured around weekly rhythm so I think it makes sense. If you add manually you’re free to add as many as you like, of course, and reorder to your taste.

recents_1.6

Recents list is generated automatically from the 10 recently started timers. I hope it’s a nice addition to the Favorites.

This way you can have deep hierarchies and still have quick access to the ones you choose, use most and used recently. Favorites auto-generation is an easy way to refresh the list when your activity patterns change over time.

Eternity remembers which of the Activities/Favorites/Recents you used before exiting the app and will show it automatically when you open it again. Just to save you some seconds when you’re in a rush :) It does not apply to Logs, Reports and Settings screen however. I assume that what you want to do quickly after opening the app is to start or stop a timer. If you want to analyze logs or reports, you probably have some extra seconds for it ;)

Activities color coding

color-coding_1.6_1 color-coding_1.6_2

When editing activity, you can now assign a color. It will be used on all activities list and on pie charts. It should make it easier for you to highlight some of your activities on the lists and find them. Colors are now also consistently shown on pie charts. Whether an acivity has a color assigned explicitely by you, or not, it will not change when you navigate pie charts (shift or change presented interval). That was a main complain related to charts so now it’s gone too ;)

Automatic seconds rounding

seconds_rounding

If you like your log entries to be nice and round now Eternity can make them so for you automatically :) As long as a timer goes, it will be exact to a second. Once it’s stopped, seconds will be rounded.

Example: projectA started: 08:10:23 stopped: 08:15:46 will be rounded to 08:10:00 – 08:15:00 after the timer is stopped. The only exception is when the entry is started and stopped the same minute: projectB 08:20:15 – 08:20:44 will be rounded to 08:20:00 – 08:21:00.
Start time for in progress timer is not rounded on start so you don’t jump with “Gee, I’m 44s behind!” when starting something at 08:30:44 ;)

This feature is disabled by default and can be enabled on Settings.

Custom reports

custom_reports_1.6_2 custom_reports_1.6_3

This feature is only available in the paid version. You can access it from Reports>Top-right icon>Custom report. Just select any date range and a report will be generated for it. You can go back and forth using arrow buttons besides the date button and the interval will be shifted by the amount of days in your original cutom report. Change dates by tapping on the date button. Easily go back to the last shown daily/weekly/monthly report by tapping on the button at the top. You can of course see a pie chart for a custom report by turning your iPod/iPhone to landscape position.

Per report row log entries listing

per-report-row-logs

Tapping on a report row, presents a list of all log entries related to given activity hierarchy and time interval. To change hierarchy level you now tap on a (>) button in a given report row.

Native email client support for reports exporting and feedback (iPhone OS >= 3.0)

Eternity now supports native email client interface on devices with iPhone OS >= 3.0. Up to 1.6 update Eternity used my server to format and send emails since 3rd party apps on iPhone OS < 3.0 could not send emails with attachments. This had its drawbacks: if server was down, you could not send report, some email servers have black and white lists for incoming email servers because of spam. Now you can edit email content and send emails using native iPhone email client and email servers you have defined on it. No single point of failure, more power to the users.

Logs presentation ordering (earliest/latest first)

logs_ordering_1.6

Some users like to have their logs presented earliest first, some latest first. The best approach – make it configurable. Now you can change it with tapping on one button and Eternity will remember it. This applies to “Insert/delete” mode also. The “Earliest/Latest first” presents action, not state (so it tells you what will actually happen when you tap, not what the current mode is). It’s always a tricky choice, but just to make it consistent with the “Insert/delete button”, which obviously must be action oriented, I decided for it.

Landscape mode support for notes editing

landscape_notes

This will be a welcomed addition for heavy noters, I hope :) There had been some troubles in 1.6 related to device orientation handling and disappearing keyboard but they were solved by 1.6.1 bugfix update.

What’s not in the update?

Initially I wanted to include calendar-like logs presentation in this update. It would be pinch-zoomable, touch-adjustable and absolutely fantastic in any way you can imagine ;) It worked beautifully! But only on an iPhone Simulator, on my MacBook  :-( . On real devices there were graphical glitches and artifacts which would not be acceptable in a final product. I invested quite a lot of time implementing it but was forced to put it on a back burner just to push this update out the door. But I will get back to it!

That’s all folks :) . Big THANK YOU to all users who provided feedback and helped in testing! Enjoy :) .

  • Share/Bookmark
,

What is it? SimpleGoals is a free app that can help you to stay on track with your goals/habits like: “Exercise 4 times a week”, “Read 2 books each month” or “Watch TV 3 times a week max”.

How can it help? Some of the users of my Eternity app made an interesting observation that having a record of what they do keeps them focused and motivated. They just don’t want to “screw the record”. That’s not the only reason of course, but it obviously helps many users to trick their mind into overcoming procrastination and keep going. But Eternity is a time tracking app, and, even as simple as it is, tracking time is an overkill for a lot of people who, potentially, could benefit from such “record-keeping” approach.

So SimpleGoals focuses on just that. Define your small goals/habits and enter them on your iPhone/iPod. Then, every day, be honest with yourself and put a checkmark where appropriate. Positive goal – you won today :) , negative – you lost :( . Simple! Daily, weekly and monthly counts easily accessible. “It’s a simple list with checkmarks!”. Yes, it is. I had many ideas for “improvements”, but decided to start with the simplest approach that worked for me as the user of such app. And working on it was really two steps forward, one step back for me.

It’s good to have the simple goals and habits written somewhere to keep yourself accountable. Otherwise we tend to “forget” our little goals, zone them out from our conscience. But they are important. Exercising 3 times a week can build your strength and endurance enormously over time. Reading every day can built your knowledge. Avoiding watching TV can save you years of time over your lifetime. Little by little, simple things add up.

That’s why the default view is “today” view. Because today is the most important day. Can you remember what you did yesterday – most probably, the day before yesterday – possibly, 5 days ago – hmmm… That’s a good reason to keep your list up to date. Every day.

That’s why there are blank checkmarks visible. They are crying to go green ;) Will you let them down? ;)

SimpleGoals App Store link if you’d like to give it a try.

  • Share/Bookmark

That’s it! It’s been a year since Eternity debuted on App Store. For 4.99$. So, to celebrate that, it’s available for 4.99$ again! Until Monday , November 23.

When I first saw it, it was so cute and helpless. It had only 3 tabs, no data export, no settings, no charts… The time. It goes by so fast (gasp) …. ;)

  • Share/Bookmark
,

This is business of course – no reason to pretend it’s not. BUT, with a bit of personal touch ;)

Don’t wait for the next sale. Omne trinum perfectum :)

  • Share/Bookmark

I’ve just finished reading a great book – “Keep the Aspidistra Flying” by George Orwell. You’ve probably heard about his famous “1984″ and “Animal Farm”, but what a heck is this one? And what is aspidistra?

Read the title of this post again. Noticed the “not”? Well, this book is clearly not about “ways to make money”. But, it’s also not a book about “wrong ways to make money”. Err, so what’s left? Well, it really tells a story of a man who decided not to make money. “What the frig? What’s a big deal about that? It’s easy not to make money. I can do it any time”. I don’t really want to spoil it for you, but here is the intro:

Though I speak with the tongues of men and of angels, and have not

money, I am become as a sounding brass, or a tinkling cymbal. And

though I have the gift of prophecy, and understand all mysteries,

and all knowledge; and though I have all faith, so that I could

remove mountains, and have not money, I am nothing. And though I

bestow all my goods to feed the poor, and though I give my body to

be burned, and have not money, it profiteth me nothing. Money

suffereth long, and is kind; money envieth not; money vaunteth not

itself, is not puffed up, doth not behave unseemly, seeketh not her

own, is not easily provoked, thinketh no evil; rejoiceth not in

iniquity, but rejoiceth in the truth; beareth all things, believeth

all things, hopeth all things, endureth all things. . . . And now

abideth faith, hope, money, these three; but the greatest of these

is money.

I Corinthians xiii (adapted)

Still not curious? OK, you asked for it. You’ve been warned. This will push you over the edge. The aspidistra!!!

Aspidistra

Now you can’t take it any more, can you? OK, so the book is available for free here, but I always go for old-fashioned paper if you ask me ;)

  • Share/Bookmark

This is a story I wrote about a year ago, just in a case I start a blog some day. So now I have a blog and you can have some laugh…

About two hours ago I was on the beach of the Baltic sea to see a sunrise.
Last days have been rather cloudy so I didn’t have much hope. But on the east side of the sea there was a hole in the clouds above the horizon so I kept walking east.

About 4:30 the sunrise started. Heavy clouds over my head, red Sun rising over the horizon, sand and water under my feet. Great. So instead of walking, thinking nothing and enjoying the view I went “hey, why not to take a picture”. I’m not very fond of pictures and stuff, so I don’t have a “normal” camera. But I had my Nokia E50 with me.

So I put it out of my pocket, unlock, click, click, can’t go to the menu, to activate the camera (oh, this sand under the keyboard, it can get anywhere). Some walking, some looking on the sunrise, some clicking. Keys beep, when pressed, so they work, but no menu and therefore no camera. I sit on the beach to reset the phone. No luck. OK, forget the phone, enjoy the view…

But finally the damn phone comes back to my mind again. Clicking, trying to get to the menu through messages, calendar, voice menu, mysterious keys on the sides of the phone, resetting the phone, removing the battery (twice), whatever… No menu, no camera. The damn Sun doesn’t want to wait for my phone to start working and I’m not Copernicus to stop the Sun, move the Earth, stop both of them, or whatever he would do in such situation.

OK, calm down, enjoy. Beautiful sunrise. Red sun looking into the water of the sea, some clouds backlit by it – you get the picture. When the Sun goes pretty high, I guess the sunrise is over (who knows when the sunrise is over?). There are still clouds over me and it starts raining so it’s time to go home. No picture. Pity.

So I turn back and go west. Sunshine, rain – you know the formula: a beautiful rainbow appears on the west, half of it above the sea! And it’s a double rainbow!! Oh, that’s enough!!! Clicking, clicking, maybe this will work, maybe that, maybe this time… No. No menu, no camera.

I gave up. Sunshine in the back, sand, water, rain, rainbow in the front and only few other people on this beach sharing the experience. Very nice moments when I think of them now.

But getting back to the phones usability in panic situations. When I got back home, it turned out the menu worked just fine.
So what happened? I was just hitting the wrong key! I was hitting the “C” key on the right side of the joystick, instead of the “whatever is pictured on it” key on the left side (or east and west as I’ll probably remember them from now on ;) . Well, not to make a complete idiot of myself, I was hitting “C” most of the time. When I was hitting the other one, I pressed it for too long, because it wasn’t responding well, because of the sand under the keyboard, because I have spent the last few days on the beach. And when I pressed that key for too long, the phone did not show the menu, it displayed “Standby” icon, which did “I’m not sure what” and back then I was too afraid to check :) . This is a classic example of a chain of events leading to a “panic situation“.


Well, I’m not a complete moron (however I’m not so sure of it now ;) ).  And I’m not a complete phone-illiterate, mind you. I’m probably even in the phone geek camp, trying to develop Java apps for phones.

So why was I hitting “C” for “menu” in the first place?
I’m not sure, maybe the “menu” key didn’t respond for the first time because of the sand so I went to “C” and continued to operate in “panic mode“, because I couldn’t stop the Sun from rising :) .

“Phone geek, heh?” you say. “So get an iPhone, slide to unlock, select the camera, …”. Well, I’m writing this on a MacBook and I have to say I really like it and OS X, and Mr. Jobs and so on. But I tried to synchronize my MacBook with my Nokia via Bluetooth the night before and it didn’t work. Mac advised me to reset the phone but this didn’t help. Deleting phone settings from Mac and pairing both devices again did. Therefore it was probably Mac’s fault, so it’s not all “black or white”.

I’m interested in usability, design and stuff like that and funny situations like described above put me from “panic mode” into “think mode”. I’m sorry, I can’t show you two nice pictures. But I can share this little story.

Update: It turned out I became and iPhone developer shortly after that :) .

  • Share/Bookmark

I’m back from vacation (since about a week :) ). Eternity 1.5.1 is available on App Store with some bugfixes and the much requested activities hierarchy reorganization feature.

Update 1.5.2 has been just submitted to Apple for review with one bugfix: duplicate entries when re-editing a newly added activity. This a nasty bug that’s probably visible to many first time users, since they likely add and modify activities a lot at the beginning. I’m not comfortable with bothering Apple reviewers with a one-bugfix update, but what can I do, more nasty bugs?

  • Share/Bookmark

Today I’m going on a short vacation. This will be my first vacation as a self-employed employee :) . My boss had objections, but he agreed eventually when I promised I’ll be checking email regularly ;) .

To celebrate that a bit and let my customers celebrate too I decided to offer Eternity for half the price until I’m back :-P ! If you considered a fresh purchase or an upgrade from Lite version this may be a good reason to go ahead with it now.

BTW. Update 1.5.1 has been just submitted to Apple for review. As a minor update it contains some bugfixes and stability improvements. However I managed to include one much requested feature: moving activities across hierarchies. I hope it will be out around the time I’m back from my trip.

Enjoy :-P !

  • Share/Bookmark

Summary of changes

Update 1.5 contains the following improvements:

Below you can find more extensive description…

ChartFlow – navigable pie charts for reports (full version only)

200909071242.jpg

Pie charts for reports can be displayed by tapping on the top-left button or by rotating iPhone/iPod to landscape position on Reports view. You can go back to reports table by changing device orientation to portrait mode. Charts represent times in the same way as you have them configured for reports table (against, interval, total time, parent).

200909071243.jpg

So you can go back and forth just by rotating your iPhone/iPod. But I’ve added the chart button for the sake of discoverability. To avoid angry emails (”You promised pie charts! Well, where the frig are they?!!!”) and for users who don’t really have time to check what’s new in the latest update :) . The spot was free anyway, so why not use it.

But the chart itself is not all. You can go to chart for previous/next interval by swiping right and left. You can also switch between daily/weekly and monthly modes by swiping up and down. And when you go back to Reports table, it’s in sync with your last chart. Cool, isn’t it :) ?

For those who don’t have time to read silly blogs, there are instructions under the ‘i’ button.

200909071244.jpg

Why pie charts? It wasn’t the most requested feature, but:

  • One picture is worth thousands of words. Many people (including me) digest data much easier when served as pictures, not text.
  • Many users exported data to spreadsheet just to make pie charts. Now they can use that time for something else :)
  • It’s an eye-candy and everybody loves eye-candy :) . After all, we bought our iPhones/iPods because they are nice and shiny, didn’t we (”Nope! Actually I’ve bought mine to develop life-changing apps bla, bla, bla” – yeah, sure
  • Pie charts are not rocket science really, but I had to learn some new iPhone development tricks to implement them. I also had to rewrite some reports-related code to make reports faster (you should generally notice that reports are calculated faster, export quicker and even scroll smoother now. Especially when you have data from many months). So there was a challenge and some new things to learn. Two most important ingredients of a fun project soup.
  • Developing Eternity I wanted to use standard GUI frameworks as much as possible. It makes development faster and the app consistent with iPhone user expectations. But the standard controls delivered by Apple frameworks, as nice as they are, have their limitations. It became obvious to me when I developed auto-adjustment functionality. The wheels-based time controls with separate, independent months, days, hours, minutes and AM/PM settings just don’t work very well in that context. I need to learn some lower-level tricks to go beyond standard controls in such cases and pie charts project was a good one to start from.
  • I don’t follow competition that much, but I hope it will differentiate my app a bit. When I first get requests for adding pie charts I was not convinced at all. “The report screen is crowded already. How do I present the data, the charts, the legend and all the controls.” (I’m not sure now, but I might have been influenced by a picture of another app I’ve had seen on App Store). But then I thought “Why not get rid of the legend, the controls and draw everything in landscape mode so there is more space for labels?”. Eureka (gee, it’s sad that I have to discover the obvious in such pains ;) ).

Easy date switching for logs and reports

200909071246.jpg 200909071246.jpg

This is a no-brainer. Interval labels are tappable now. I made them more button-like looking to make it discoverable. You can pick any date and switch to today with one tap.

Manual reordering of activities

200909071246.jpg

When you tap on Edit activities, the editable rows have standard reorder controls on the right side. You can also sort activities alphabetically with one tap.
In addition, activities editing/deleting/reordering can be cancelled now if you’ve done some mess. The ordering you set here is respected in reports too.

Text editing settings (capitalization, auto-correction) for activity names and notes

200909071247.jpg

Go to Settings->Text editing to switch auto-correction and capitalization ON or OFF for activity names and notes.

Easy data migration from Lite to full version

200909071234.jpg200909071234.jpg

Now you can upgrade from Lite to full version without loosing your data. In three easy steps:

  1. Install full version on the same device
  2. Open Lite version, go to Settings->Full version, tap on “Migrate data to full version”
  3. Full version is opened and asks for confirmation. Confirm.

Enjoy :) !

  • Share/Bookmark
,

Summary of changes

Update 1.4 contains the following improvements:

  1. new: inserting log entries without starting new timer
  2. new: easier log entries deleting
  3. new: auto-adjusting times for previous and next log entry
  4. new: changing activity for past log entries
  5. new: hierarchy paths for logs and reports
  6. new: more Excel friendly dates in exported log files
  7. new: data purge

Below you can find more extensive description…

Inserting log entries without starting new timer and easier log entries deleting

That was one of the most requested features. Now if you forget to start a timer you can always insert it later easily. On Logs view, the first row is always “Insert/Delete”.

200909041647.jpg

After tapping on it, a new view is presented with options to delete existing entries and insert new ones.

200909041647.jpg

You can insert new entries between any existing ones. If there is a time gap between existing entries, the new entry will automatically take the size of that gap. If there is no gap, the new entry will have zero duration, but you can change it easily with the new “auto-adjust time for previous and next log entry” feature (described below). You can also tap on any existing entry to edit it. I hope it’s pretty straightforward and you’ll find it useful.

Auto-adjusting times for previous and next log entry


200909041648.jpg 200909041648.jpg

That was a tough one. The problem I had here was that the date and time selection picker takes half the screen space all by itself. The rest of it I can use for presenting times for the previous, current and next log entries.
So here is the solution. When you select the “Start” time for the current entry, you will have a previous entry presented (first screen). If you select the “Stop” time, you will have the next log entry presented (second screen).
The “Adjust prev. and next” switch allows you to turn auto-adjusting on and off.

One rule in auto-adjusting is “you can push, you can’t pull”.

Example. When your current entry ends at 3:16 and the next next one starts at 3:20, you can set current end for 3:25 and the start for the next will be auto-adjusted to 3:25. But when you change your mind and set current end back to 3:16 the next start will stay at 3:25. But you can tap on next entry row to adjust its start time and push current end stop time. Why you can’t pull? That’s to avoid constant switching between auto-adjust on and off when you happen to make a mistake.

When you turn auto-adjust off you’re free to set times however you want. Overlaps will be indicated by orange colors and time start/stop inversion (stop precedes start) will be indicated by red color. Trying to save them can result in a warning or error message. The error is when one entry completely overlaps other or when the times are inverted. The warning appears when the current entry starts before the previous ends or ends after the next starts.

Changing activity for past log entries


200909041648.jpg

In log entry editing view you can now tap on the activity to change it.

200909041649.jpg

Here you can go through your activities hierarchy to select a new one for the edited log entry.

Hierarchy paths for logs and reports

You have seen them on the screen shots above already. They will also be in a few other places and in the exported logs file, in a separate column (so you can easily hide it).

More Excel friendly dates in exported log files

Previuosly, dates in exported logs had format like “Wednesday 13 May ‘09″. This turned out to be hard to digest for Excel and other spreadsheets. Looks like I thought too much like a human and too less like a machine this time around :) . Now the dates have only numeric representation formatted depending on your iPhone/iPod local date format.

Data purge

There is a new “Logs” row to tap on the Settings view.

200909041649.jpg

For now, the only option here is to purge logs. You can pick any date to purge all logs older that that. By default it’s set to “tomorrow” which purges all your logs. After tapping on purge you will be asked for confirmation.

200909041649.jpg

When the purge is running you can still cancel it (if you tap quick enough that is :) ).

One more thing. The Lite version will be ad-supported beginning V1.4.

That’s all for now. Let me know if you have any comments or requests.

Enjoy :)

  • Share/Bookmark