Sunday, November 23, 2008

Laptop woes

So Dell have finally come to fix my laptop.  The delay was mine rather than theirs I suppose so I'm not complaining (though the level of diagnostics they wanted would have scared the pants of a non-technical user).  I picked up a (almost) half price 2408WFP which meant that it was actually usable but the whole machine has been getting steadily crappier.

To be honest, I thought I'd picked up a drive-by rootkit and that the random but frequent crashes of the NVidia driver / vista windows manager was as a result of that.  Audio too seemed to make things worse.  I could usually manage about 5-10 minutes of video replay before CPU peaked and stuck at 100% and the kernel nuked the display driver.

Lots of people hate Vista.  I like it.  It's a testament to it's robustness that these problems, while annoying do not result in blue screens or outright hangs.  And yeah, I realise that X11 has had a separate windows manager for about a bazillion years, but have you used it?  I do security stuff for a living for a large bank, so UAC and the privilege segmentation is a bonus as far as I'm concerned.  I had a couple of bits of hardware that didn't work any more, but really, a new scanner is beer money these days.

So anyway, Dell come and replace the motherboard and LCD - carefully transplanting the CPU and Nvidia Quadro chip from one board to another.  Net effect, working screen, and all the other problems seem to have mysteriously disappeared.

So the moral of the story is, it's easy to blame Windows, but in this case I think the hardware (I'd guess Northbridge, but it's only a guess) was flaky.

What else?

The task tomorrow is to try and remove the unnecessary bitmap resources that I think/hope are the cause of the ribbon-x issue.  Path selection for folks with data in non-standard locations is done and there will be a couple of additional fields in the summary crosstab.

Tuesday, November 11, 2008

Update

Thanks for the feedback so far. I moved house recently and have suffered the usual break in 21st century services so things have been a little quiet in updates and there have been other priorities.

The big red X
For those of you receiving the red X across the ribbon there's not much in the way of good news yet as I've not been able to replicate it. I've a hunch I know what it is (some large bit map resources) but really that's a total shot in the dark.

The error is occurring deep in a 3rd party library so there's not much to go on but I'll see what I can do.

Training Manager data in non-default locations
This one has been fixed up this evening. The next release will prompt you to specify the path to the database used by Suunto Training Manager. It will still automatically import any data it finds there but as each session is processed in sequence the number of sessions present shouldn't present a problem - as someone suggested might be the case. I guess we'll see...

Non-english data import problems
I've not really started looking at this yet but it's next on the list. It may be that I need to add a little more detail to the logs generated by the import routine for this one.

If you're one of the folks with non-English settings and getting import errors, a copy of the log file may be helpful.

I'll try and get the next version out for/over the weekend.

Thanks

Sunday, November 2, 2008

Electronics

If anyone out there is a dab hand at electronics - powering LED's, timing etc, I'd appreciate a message. I'm just starting out trying to tie the realtime HR data to 'arty' things and could use a few pointers so that I don't electrocute myself :-)

Basically I want to flash an LED (one of those ultra-bright 700ma/1a ones) in time to HR data. The PC POD is supposed to be able to manage 3 sets of data so that's a future idea. I'm looking at CodeMercs stuff for control http://www.codemercs.com/index.php?id=141&L=1 but am trying to figure out the "meat and potatoes" as the expression goes.

Cheers

Moving

I've been moving house this week and don't have any real internet access until Tuesday (hopefully). It's fair to say that I'm somewhat underwhelmed by the whole 3G wireless experience. I'm not sure why everything in the UK is taking 3 weeks to setup at the moment - need a phone line, sure 3 weeks. Gas safety check, 3 weeks. Sky install? No problem. 3 weeks. That's three industries that could use some extra staff right there. I'm trying not to do the "In Australia..." comparison, but jeepers.... Ah well, we have driving sleet so pffff!

On to software stuff, I've been tracking the comments and emails and will see what I can do to resolve the problems reported so far.

If you're a user for which everything (within the scope of this release) is working fine for, I'd like to hear that too!

Cheers

Monday, October 27, 2008

Troubleshooting

There's bound to be a few problems - that's why this is version 0.4!  For those of you that are having issues it would be helpful to receive the log file.

For Vista this is stored in the directory shown - adjusting for your user account.  For XP users it should be under your "Documents and Settings" folder rather than "Users"

image

Email a log file to support@t6analytics.com with a few details (won't install, error messages, a screenshot if possible etc) and I'll take a look over and see what I can do.

Thanks!

Sunday, October 26, 2008

URL

That's what you get for doing things late at night.  The domain in the email had the .com missed off the end.  Sorry about that.

Already someone has said that not all the activity types are showing in their calendar so I'll try and figure that out.

Real-time

On a tangent from T6 Analytics is the subject of real-time monitoring.  I've obtained the software development kit (SDK) from Suunto and have got my first working piece of code to obtain real-time data from the PC POD - no mean task, I think, given my poor C/C++ skills.

It's possible that I'll incorporate the reading into T6 Analytics but most of the effort calculations are EPOC / TE calculations are still Suunto/Firstbeat proprietary so that's of limited use.  As far as I can tell you can only get HR and IBI data from the strap in real-time.

I have a couple of non-fitness related projects in mind but I'm open to other ideas/collaboration in this particular area.

So, give me a shout via a comment please.

Cheers,

Simon

Let's hear it 4 0.4

Hi everyone (yes, that's all 3 of you!).  I'm pleased to announce what I'm calling T6 Analytics 0.4  for release.

Until next week when the container carrying the server with my Hyper-V goodies arrives, I've limited resources to test this version on, but as the expression goes, "It works on my PC".  There are no guarantees that it will work on yours, but it has been tested on a couple of other machines successfully.

The installer should prompt you for any missing dependencies (.Net 3.5 for example) and in all cases, I'm interested if you run into install or application problems.

I'd suggest posting comments here with problems and it would be helpful if you left a email address in some form so that I can contact you directly.

So, check out http://www.t6analytics.com/ and fingers crossed!

Wednesday, October 22, 2008

Sabotage

My laptop screen packed up today. I'll call Dell tomorrow and they'll turn up on Friday.

I can't fault their after sales service but this D820 has been a little fragile compared to all the rest of the Dell kit I've owned recently.

Tuesday, October 21, 2008

Last minute bug

I found a bug this morning which I'll need to fix before release.  I normally run my T6 recording altitude rather than barometric data.

In the office at work yesterday it was pretty warm so I switched the watch to pressure to get a temperature reading.  I forgot to change it this morning when I went out for a run, tried to synchronize the data and ran into a problem with the import process (because there are no altitude readings).

Probably I'll opt just to catch this error but I may not have time to decode the alternative representation (assuming there is one).

On the plus side, the website (such as it is) is ready.

Wednesday, October 1, 2008

Setup

I've been testing the first setup package and this has uncovered a couple of problems with the Training Summary view that I'm trying to get to the bottom of (mostly to do with date handling which is odd because the other machine has the same setup as mine). On the plus side;
  • It installs!
  • All training data is successfully imported
  • The calendar view works 100%
There will still be plenty of rough edges but the basic functions should all be working. Things that will need some more work;
  • Printing
  • Clipboard actions are a little hit & miss
  • There's no saving of custom layouts yet
Hopefully I'll get enough time at the weekend to iron out the date issue and get the setup files built. Fingers crossed!

Monday, September 1, 2008

The wonderful wizard of oz

In the previous post I mentioned knocking up some kind of wizard to do ad-hoc charts.  The first iteration of that is complete and provides support for arbitrary scatter charts.


image

There is only one chart type currently

image 

Now choose the X and Y fields for the scatter plot

image

image

Save it for re-use (doesn't actually save yet)

image

image 

Thank you, come again!

image

The end result...

image

Thursday, August 28, 2008

Pivoting

Things aren't moving as fast as I'd like - when do they?  But to show that I'm not slacking off entirely here's a couple of shots of the Pivot/Crosstab view of the training summary.

pivot

Showing this (rather slack) week

image

Then switched to the 3 month view

image

and then fiddled with a bit to order by activity rather than date

image

The basic fields are there but it might make sense to add a few more.  It's not quite working yet but you'll be able to export to Excel too.

Friday, July 18, 2008

GPS maps

I mentioned this a while back but I'll (eventually) add integrated support for mapping GPS data via Microsoft Virtual Earth. The parsing of a GPX file into an embedded VE map surface works fine - it's just a question of integration.

While chatting with my wife about this she suggested colour coding the route line to match HR or EPOC levels to give a clear indication of exertion overlayed on the route. I think it's a pretty good idea - does anyone have any other suggestions? I'd like to do 'real' altitude profiles but haven't spend a great deal of time looking into that - for devices that record altitude there's no real gain, but some, including mine don't.

I don't personally have much GPS data available. My unit is tiny, but fiddly and since my laptop upgrade to Vista x64 doesn't have drivers. I need to get around to doing a x86 build under VMware to start using it again.

Speed in Pace

Travis asked about "Speed in Pace" charts (min/mi or min/km). Assuming I understood what he wanted they're pretty simple so I've thrown them in.


Currently they're derived automatically but the filtering needs a little work as the next screenshot shows



Activities are selected for inclusion by having (Max Speed > 0) but clearly this isn't sufficient. The easy way doing this is to do (Max Speed > 0) && (Distance > n) where n is some distance that signifies a real session. In my case this rules out wearing of the foot pod to a circuit class.

So, does that sound like a good idea? n would obviously be configurable and I suppose a manual selection of activities is a good idea but one that would probably have to wait a while.

Secondly, the phrase "I do 8 minute miles" is pretty common, but I'm not sure about km's? Currently the application renders speeds and distances based on your local settings (km's for for me). Do people in metric parts of the world refer to this as "I do 6.5 minute km's" or persist with the imperial measurement?

The axis labels need a bit of work too.

Thursday, July 17, 2008

Altitude normalization

One of the things that annoys me about STraM is it's handling of altitude data. Most of my running and cycling follow a few routes where I know the starting altitude (that's sea level for me).


I'm pretty crap about resetting the altitude in the morning when I go out and it annoys me that there's many of my sessions where according to STraM I've dug out the lamp and canary, put the helmet on and headed down the mine instead of getting out on the bike.













Enter Altitude Normalization which allows you to adjust the altitude figures to compensate for errors in the pressure derived altitude measurements. The idea is that if you know either the high point or the low point for anywhere along the route, you can have the application calculate the offset and display the altitude profile with the 'real' figures. The changes are non-destructive and can be changed or removed at any time.





Wednesday, July 9, 2008

Slowly

Optimisim. It's a wonderful thing but sneaky. Late nights, weekend kayaking, zooming around Sydney harbour on an unseasonably warm mid-winter day on a friend's 'speedboat', work pressures, the resumption of Top Gear on TV and a cold/sore throat that I just cannot shake have consipred against me.


The last week has seen a bunch of really supportive comments and encouragement which is fantastic - while this started off as a personal project it's great to think that it will be useful. Nevertheless progress has been slower than I wanted. But, I'm on vacation next week (a visit to relations in NZ before moving to the other side of the world in 6 weeks or so) and am hoping to achieve the following;

  • Fix up the database stuff. Up until now I've been operating against a backup of the suunto data - just in case. That needs to change to the real stuff, and I need to deal with the differences between X32 and X64. Cater for non-english installs too.
  • Add copy chart to clipboard functions where they're still needed
  • Fix up the menu graphics - some of the drop down menu icons are freakishly LARGE
  • For session details, add rendering of multiple sessions on the same chart
  • Investigate printing - no expectations on that one, but I've got to start looking at it.
  • Session export to .csv

Right now, only #1 is really important as that's what's holiding up a alpha/beta release for you kind folks. The most recent comment from Adam sounds like a fantastic idea and I'd like to chat more on it. Unfortunately Blogger ate my detailed reply and I'm not sure how I can securely exchange email without posting my address directly to the page. This fred.deleteme.bloggs@whatever.com really doesn't weed out spam these days, either.

Otherwise, this week has seen some incremental changes to the session detail.

Friday, June 27, 2008

Another picture - Summary Page

Most recent screenshots. This is the training summary page.



Any of the chart tabs that are circled can be reposition (the position's are not yet persistant across sessions but will be) so you could have something like this if you wanted;



The component moving and resizing isn't visually perfect yet. In the picture above the TE scale is scrunched up and the same thing happens sometimes on the date X Axis for charts. On the 'Minutes per day' bar chart the value lables need to appear/disappear depending on density. Conversely, the TE/EPOC chart is perhaps too aggressive in hiding of point lables and the grid lines are too 'heavy'

It's this kind of detail that a) annoys me when it's not present in other software or doesn't work correctly and b) as the developer, takes lots of effort to get right.

The session detail page -



Needs completing (following a re-work to support the 'panel' interface). The session figures need to go on the left, the speed/distance chart needs adding at the bottom and a sample data table needs adding. The chart and table are dead easy, the session figures require more 'manual' labour and will probably take several hours to extract and format nicely. There's a bunch of work to add the necessary buttons to the ribbon GUI and on, and on and on it goes.

All going well I'm hoping to have a first version available by the end of the weekend. I also have a file-server rebuild/upgrade from Windows x86 2003 to 2008 x64 on the list so something's bound to slip. Somewhere my wife would like us to have a social life and we're gearing up to move from Australia back to the UK in 8-10 weeks time. You can imagine the havoc that will bring...

Friday, June 20, 2008

All your laps are belong to us

I extended the test application for laps and as they say here, "It's all good"



Now that I have the data I need to consider how to represent it. On the whole though, I'm fed up with laps (though still have to do my autolap investigations this weekend)

As I mentioned before, there's data inside the lap 'records' that I can't account for. If anyone has any thoughts or suggestion as to what it might be, please let me know.

Thursday, June 19, 2008

Simon 1, Lap times 0

Isn't it funny how you complain about something and then make a break-through? So the lap times are done and dusted - mostly. With my data, lap records are 576 bytes long and to be honest there's an awful lot of data in those 576 bytes that I can't account for.

One of my jobs over the weekend will be to use the autolap features of my Bike and Foot Pods to see if that makes a difference, but for now, manual laps work just fine. The one caveat here is that I've only recently started using laps and so far have only tested a few of my files (2.1.x and 2.3.x). I need to expand the test application to parse all the sessions I have for further verification.



I'd like to say thanks to Willem Minten whose document I referred to to shortcut the process of working out the contents of an exported .sdf file. There's an huge difference between the textual .sdf representations and the underlying binary files but it was really helpful to have an additional reference - and one that I hope to be able to refer to over the weekend regarding the lap source types (manual, autolap, inserted via STRaM etc)

If anyone has any special requests regarding the representation of lap data, speak up!

Cheers

Wednesday, June 18, 2008

Laps

Laps are turning out to be quite a lot more complicated than I thought they'd be. I'm gradually pulling out the data but there seems to be a lot more recorded than is rendered by STraM when looking at the Marks detail.

I'll keep at it over the weekend and see what I can come up with.

Thursday, June 12, 2008

File format changes for 2.3

It turns out that the file format changes aren't all that significant. Speed samples appear to have been made optional (before speeds were recorded for each HR sample even if they were zero where you didn't have a connected POD), there's a new container for cadence and temperature samples. There's a new "CorrectedSamples" container which I've not yet had a chance to look at.

There might be some other spot figures that come out of the woodwork, but nothing major. There's a new AVGCADENCE element to go with CADENCESAMPLES.

I've done the initial steps for determining Lap offset data but need to see if there's anything other than a relative time marker present.

Wednesday, June 11, 2008

v2.3 - Spoke to soon

I've clearly spoken to soon about v2.3. So far it's behaved itself although I'm not sure I agree with the interface changes (I'd prefer to see kcal values on the main tab like before) but usage aside, the raw data format has changed.

I'd expected changes naturally. The sessions now need to maintain data for the new T6 bike POD's cadence data, but I'd expected addition data not changes to the existing structures. At the least they've re-ordered some of the internal sample sets and seemingly made some of them optional.

I'll need to play around a bit with the hex editor for a while to see what's what exactly. It's not all bad news though as I can take this opportunity to re-visit the parsing of lap data that I'd asked about previously and for which I'd had on the to-do list.

Saturday, June 7, 2008

Stram 2.3 upgrade

Went without a hitch (unlike 2.2). There doesn't seem to be any changes in data formats so I can plod on with my efforts (which relate to GPX/Virtual Earth) and making all the chart locations flexible.

Tags

I'll be adding note searching (the notes that can be added within STRAM) and tagging. Searching will just examine the STrAM notes but tagging will allow you to free-associate labels to sessions.

Virtual Earth integration

Everyone thinks of Google Maps but the service from Microsoft (Live Maps) is just as, or I personally believe more compelling (The big G still has it on search though). For a Windows developer it's quite easy to get to grips with and they're adding fantastically detailed imaging at the rate of 60TB each time.

Here in Australia ADSL accounts are capped to a set quota per month. Mine's just run out (until tomorrow when the new billing period starts) so I can't easily upload an image but I've got Virtual Earth integration going.

If you have a GPX file associated with a session, you'll be able to add that and view the VE map within the application.

My GPS (tiny, not always clear if it's recording but water-resistant and <$50) is all I've got to test with and frankly the whole XML/GPX thing smells a bit like witchcraft but so far it seems to work. Mine doesn't record altitude but the space shuttle (yep, actual NASA craft) recorded and made altitude data available for pretty much everywhere. The next step will be to associate lat/lon measurements with height in order to plot a better altitude graph.

Monday, June 2, 2008

The colours! - pt2

The colours all match now and the textual summary data, the activity selector and the charts all match.

Selecting/de-selecting activities in the activity selector toggles the appropriate category from the training summary and the calendar. Duration and Kcal figures in in each day entry in the calendar are updated accordingly.

Ideally there would be a video of this but I've not got that sorted out yet.

Monday, May 26, 2008

The colours!

I've been working on the training calendar some more and the entries are coloured coded in line with the chart presented in the training summary. There's a session inventory too, again coloured matched detailing key figures from each training session.

The session inventory supports filtering and grouping to help you find what looking for. The two things are not 100% linked up yet, but it's getting there.



In case anyone notices that I'm a very slow runner, that's a bug, or rather I'm not yet converting from meters per second which is the internal data presented by the T6.

Friday, May 23, 2008

Bang for buck

Where do I get the best return (based on energy consumption)? Hopefully this type of chart will answer the question.


(the unlabeled vertical axis is energy consumption (kcal))

At the moment, it's not much of a shocker. Gosh! Lengthy exercise results in more energy usage, but there are a couple of points here which I'll be looking to address.

The points are aggregated time/kcal figures on a daily basis. So each Bike point is actually two sessions (well, most are. Cycle to work, cycle home again). If I break them out into their constituent parts there may be more clustering.

The other option is rather than plotting cumulative energy output, I can output kcal/minute. I don't even have a sample display for that one yet as it requires more effort than I'm prepared to put in on a Friday night. It might not be any more interesting but I won't know until I try it out.

Wednesday, May 14, 2008

GPS

One of the things I want to add is the ability to attach a GPS session to a work out to record where I've been. I purchased a tiny GPS receiver that arrived yesterday, failed to make it work on the cycle home but got success this morning on a rather dull, route wise run this morning.


Because I was too lazy to calibrate my foot-pod properly when I got it, I'm happy to see that it looks like it's been under reporting distance. (7.24k from POD, 8.44k from the data imported to Live Maps).

I'll need to work out who to display and manipulate the map control (other people have done this so I'm hoping to learn from them) and then overlay standard GPX formatted data.

Sunday, May 11, 2008

Local language

Code localization is hard work and Microsoft has my respect for their efforts to support local language, number and symbol preferences (see Sorting it out for all sorts of details on Unicode and non-roman alphabet representation).

With the exception of some menu French gained from cooking and eating over the years, I speak no languages other than English. I've no idea what will become of this project but I'm taking the time to make the string literals that represent titles of graphical elements like menu items, axis descriptions and other labels, dialog headers and so on into formal resource items so that they can be localized later.

Visual Studio could make it easier in the symbolic naming and .Net's xx-yy resource notations aren't all that straight-forward either.

Thursday, May 8, 2008

Laps

Do people use the T6 lap function often? Until recently most of my exercise has been of the start-stop variety but I'm doing more running so I'm finding that I am using the lap button more and more.

The decoder I wrote to parse the STraM .dat files doesn't currently handle the extraction of lap data. What kind of priority should I give to adding that so that lap markers can be plotted somehow?

Is the way that STraM plots lap markers sufficient? What improvements can you think of?

Friday, May 2, 2008

Weight chart / pie(s) chart?

STrAM lets you edit session properties; you can assign an activity and so on.



I don't use resting HR or feeling but I do use the weight field for record keeping. Each day I weigh myself and use that as the basis. Annoyingly STraM doesn't automatically re-analyse the log if you change the weight and often I forget to.

Do any of you use the weight field? If you do, I guess a chart would be useful. If you don't currently, is it of interest?

Wednesday, April 30, 2008

Summary ranges - and colours

My colour scheme might be crap but the colours assigned to specific activities in the training summary now match and the week, month, quarter buttons mostly work - they are subject to an off-by-one error (the current day not shown). Tomorrow will fix that and hopefully implement the "Between..." function.

Is activity filtering here useful? Right now the summary can be restricted to dates. Is it helpful to say "summarise only cycling and bear wrestling"? Personally, I'm not so sure. Flexibility is always goood but as this is a spare time effort, I have to consider what's actually useful. I think maybe it is.

Anyway...

1 month view (the default view)



Week View

The week view only shows entries in it with days (derived from today - 7 days)



3 month view

It's the 3 month view that will really show if I've had my snout in the pies.



I've plans to add a weight view, so make sure you add accurate daily weights to your session meaurements and re-analyze those logs in STraM!

Sunday, April 27, 2008

Time is relative

I finally got the labelling for relative time on the X-Axis working. It could use some 15 second minor tick marks and at the moment is fixed at 60 second intervals. This will result in labels overlapping on longer series so I'll need to amend the interval based on the session duration I think.

Saturday, April 26, 2008

Screenshots

I've made some good progress this week. There's a lot more to go but it's a start. The training calendar is kind of working (it shows training sessions but you can't 'open' then yet). The session summary is kind of there too.

Anyway, here are a few pictures to get things rolling.

Training Calendar

Kind of "Outlooky". I'm not sure how to handle daily summary info on month views.



Most people know how Outlook handles meetings. Training sessions are considered the same. Here's a week view.

Training Summary

Here, the last month of training (not quite representative as I've had flu and not been training for the last two weeks. The empty dates still need to be shown on the chart and currently aren't) The activity colors on the lower two charts don't match yet but that's on the list of things to fix-up too.


Session Detail

It's not joined up yet but clicking on a calendar entry will display a chart like this.


It's likely that the tabular data will be hidden (and tidied up to a precision of 2 decimal places).

This example session was recorded when my chest strap was suffering the well-known broken contact problen. The speeds are low and the end heart rate shows that I died :-)

First post.

I own a Suunto T6 watch. The tech side of it appeals to the nerd in me and is one of major factors in encouraging me to exercise.

Their software frankly is shit. At best it's functional, at worst an exercise in bad design. I'm not saying that I'll do better but it will meet some of my requirements and hopefully those of other peoples.

Suunto have been un-helpful about an official method of interfacing with their product so my efforts use information that I've been able to find online, common sense and some reverse engineering of the binary file formats.

I'm hoping for suggestions fro you, comments to my suggestions and blah blah blah. Stuff I'd like to include;

- Better sort/find. (Show me all the sessions >40 minutes?. What sessions hit TE >4.0?)

- Nicer graphcs. (It's not the 1980's anymore guys, not even in Finland!)

- Better trending. (How is this year better than last year?)

- Attach to a session and display a Google/Microsoft map for a GPS recording.

- Maybe interface to other training sites like "mapmyrun.com"

I've no idea what else, but Suunto don't seem to be all that responsive so what harm can it do? My work is based from STraM 2.1 (2.2 killed my entire PC so I don't know at this stage if that breaks anything).

This is a project that meets my needs and entertains me (sad, eh?). If it benefits anyone else, thats great, and I look forward to suggestions.