Android Convert

19 January 2010 Tags  ,

Thanks to Will, I’ve now got an Android phone. The HTC Dream/Android Developer Phone 1 to be exact.

IMG_4237

I’ve had my HTC p3600i for almost two years now; I wrote that review not long after I bought the device, and it wasn’t long after it that the flaws started to show. As I did mention, browsing was useless with PocketIE, but over time the device just became less and less stable. In the last two or three months, the phone has insisted that its roaming unless I reboot it – then it’ll work for about 15-20minutes.

The developer experience for Windows Mobile 6.0 (and presumably 6.1 & 6.5) was also a nightmare. I once started looking at creating a Twitter client for it, and I discovered that to get TextWrapping on a TextBox (under .NET CF), you had to override the Draw method of the Textbox. Already I’ve created more for Android than I did for Windows Mobile, and it’s still at the proof of concept stage! (More on that in a later post)

I’m really enjoying the relative responsiveness of the Dream/Android, as well as much nicer UI. Having a physical keyboard again is awesome, I don’t think I could go back to an all touchscreen phone. A usable browser is also a nice change – I can finally do net banking on my phone, should I need to.

That’s not to say Android or the Dream are flawless.

  • Battery life sucks,
     
  • I’ve had more than a fair share of various parts of Android (such as the Home screen) lock up,
     
  • Android 1.6 has no Exchange support (although this is in 2/2.1, it’ll be awhile – if ever – before the Dream gets the upgrade because of the relatively small partition for the OS not enough RAM – thanks for the clarification Bck),
     
  • Many applications (including the “Google Experience” apps) default to notifications/always running/syncing requiring disabling the settings.Gmail, despite turned off under Settings –> Data Synchronisation –> Auto-sync (and Auto-sync turned off completely) always seems to sync as soon as Background Data is enabled, so I have to leave that off, which then disables the Market!Disabling Background Data warns/informs that disabling it will save power and data, but some applications require it and still use the connection!
     
  • While the UI is pretty good, a lot of it is incredibly unintuitive. Some of the submenus in Settings have additional menu (activated by pressing the Menu button), but there is no visual indicator nor do all of the submenus respond to it.

Comments Off
 

MahTweets: Columns not saving?

19 January 2010 Tags  ,

With each new version of MahTweets – even the sub-releases – many people are having columns not saving correctly.

Disclaimer: This is entirely my fault.

The Fix

Long story cut short, the quickest way to fix this is to delete all of your columns, recreate them, and then quit. They should then reappear on next launch.

If that doesn’t work, you can remove all of your accounts, columns, etc, and start from scratch, but it could give the same problem. The best way would be to delete your config file and start from scratch. That can currently be found in

C:\Users\<YourUserName>\AppData\Local\Apps\2.0\Data\<SomeHash>\<AnotherHash>\
maht..tion_<YetAnotherHash>\Data\2.7.4.529

Mine is

C:\Users\Paul\AppData\Local\Apps\2.0\Data\5B03WGLL.0H0\ODJ8MMQ8.3WX\
maht..tion_0000000000000000_0002.0007_342b7e02bb86691e\Data\2.7.4.529

Delete the user.config file and it should be fine until the next update. It’s not ideal, I know, but we are working on a solution, which will also result in the config file being moved to another location.

The Explanation

We know what the problem is, sort of. Columns are made up of many “UpdateTypes”, such as “Normal”, “Mentions”, “Direct Messages”. Every one you have selected is written to the settings file on close, under Filters (Filters –> FilterList –> StreamList –> FilterStream). Below is an example

<FilterStream>
    <IsIncluded>Include</IsIncluded>
    <Protocol>statusnet</Protocol>
    <AccountName>aeoth</AccountName>
    <Color>
        <A>0</A>
        <R>0</R>
        <G>0</G>
        <B>0</B>
        <ScA>0</ScA>
        <ScR>0</ScR>
        <ScG>0</ScG>
        <ScB>0</ScB>
    </Color>
    <UpdateTypeString>MahTweets2.IdenticaPlugin.MentionUpdate, MahTweets2.IdenticaPlugin,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</UpdateTypeString>
</FilterStream>

Although it’s a little hard to see, I’ve placed emphasis on the Version number. With each new version, that changes, so currently it will have 2.7.4.529 (for those playing at home, 529 is the Subversion commit number associated with that release). However, if you’ve upgraded from 2.7.3, MahTweets will go looking for that version, and isn’t able to find it.

As I’ve said, we are working on a solution, but its not here just yet.


Comments Off
 

MahTweets 2.7 Released!

16 January 2010 Tags  , ,

On Wednesday night, we pushed out another version of MahTweets, version 2.7. It’s been a long time between releases (3 months!) but a huge amount of work has gone into it.

New Features

  • Autocomplete Everywhere
    In previous versions we didn’t have autocomplete for contact names. Now we do. And its everywhere you can type!
  • Yammer Plugin
    Fairly basic at the moment, but we will get it up to "Twitter level" of support in the next version. Currently you can view/send and downloading attachments.
  • Plurk Plugin

  • Ping.fm Plugin
    No media ‘pings’ yet, but that’ll come soon – still beat Seesmic to it! ;)
  • Bit.ly Plugin
    We couldn’t support bit.ly in previous versions due to how IUrlShortener plugins worked, but now they can store credentials much like any other plugin.
  • Geotagging for Flickr & Twitter (both viewing and sending geotagged tweets)
  • Searching
    We now have the ISearchProvider interface, which lets IMicroblogs (aka, connection plugins like Twitter) provide a way to search.

    At the moment went have "regular" Twitter search and streaming Twitter search. Although not entirely certain, I’m fairly confident to say we’re the first or one of the first full feature Twitter clients with streaming search support!

    Streaming search maintains a constant connection to twitter, but you get results in real time. How fast? In most tests, you get the tweet roughly the same time it appears in the web interface for the person tweeting!

    Down the track we’ll be adding Yammer and Plurk ISearchProviders, perhaps even Facebook.

  • Local Searching
  • Read/Unread tracking
    This is optional, but you can have all updates marked as unread as they come in. Click on the ‘unread’ banner (or really any of update except the text) to mark it read, or the new ‘Mark all read’ button (the big tick on the side)
  • Profile Columns
    Although only supported by the Twitter plugin in this version, MahTweets can now show additional information about a particular contact inside MahTweets, instead of having to go out to the browser.

    We’re looking at making this extensible so ‘information’ can be pulled from places like Twadges/etc, once we find the right API’s.

Improvements

  • Twitter support
    MahTweets now supports more of the recent twitter features such as:
    • geotagging,
    • lists,
    • block&report as spam,
    • "new style" retweets
  • Filtering
    Our filtering was previously pretty good. Now its pretty awesome. Tri-state filtering means you can do nothing, include or exclude contacts or streams ("streams" are types of updates, ‘mentions’ or ‘direct messages’) from a column.
  • UX
    This version started as a big UX/UI overhaul. The key improvements are less WPF blurriness (mostly caused by drop shadows), a "smaller"/less space wasting update template, clearer/nicer looking icons, far more intuitive settings/setup window and a few other niceties.
  • Multi-parent behaviour
    This problem is almost exclusive to MahTweets, and we’ve mostly solved it. Most Twitter clients that support multiple accounts dont support multiple accounts in a single column. Well, since MahTweets does support this, the problem is that what happens when TwitterAccountA and TwitterAccountB are both following TwitterUserC?

    Do you double up the Tweet from C so it appears once for A and once for B? Do you make just a single tweet available to whoever got there first? Or do you make some sort of uber tweet which is for both A and B once they’ve both updated?

    We’ve chosen the latter option, which creates a drop down box when you go to reply, giving you a list of accounts to reply from:

    image

    That part we’ve solved, and it works great. The part we haven’t entirely solved is filtering. If the tweet comes in first from A but is a mention for B, it is marked as a mention for B, but the UI doesn’t reflect this (ie, no colour change, won’t always jump to the right column) until the UI is forced to update. Sometimes this doesn’t happen unless you toggle edit mode on the appropriate columns!

    It’s complex and a unique problem, but we’ll get there eventually.

  • Better memory usage
    WPF can be a bit of a beast to work with for small memory usage, but we’re finally getting it down to a more respectable figure. It’ll vary with how many accounts you have setup, how many columns you have, and if you clear all streams or not on a regular basis, but we’ve seen 5%-50% less memory usage!

There have also been a huge assortment of bugfixes, too many to list.

MahTweets Website

The MahTweets website has also undergone a huge overhaul!

image

Hopefully in the near future we’ll add some videos showing off some of our somewhat more hidden features, as well as fleshing out the Features, Developers and the return of the Community Plugins pages.

Future

So what does the future hold for MahTweets? Apart from a few bug fix releases, we’ll be releasing a MahTweets Developer Toolkit as well as reenabling community plugins – this will all happen under "2.7". For the next major version (2.8), we’ve not nailed down what extra features we want. However, we’ll hope to have

  • Video uploading (Vimeo, Facebook, Flickr, Viddler, YouTube)
  • More plugins for Url shortening and Status Handling
  • Synchronising settings between computers

There is also the strong possibility that we’ll look into creating MahTweets for Android, now that I have a HTC Dream (thanks Will!)


2 Comments
 

Comments disabled…

23 December 2009

Comments are now disabled due to the incredible spam comment increase since upgrading to Wordpress 2.9.

I’ll look at moving to other blog software by the end of the year, and enable comments again.


Comments Off
 

Student Partner 2010 signups open!

1 December 2009 Tags  , ,

If you’re interested in sharing technology with fellow students, look into becoming a Microsoft Student Partner (MSP) for 2010 and now’s your chance as signups have opened over on the Student Partner website.

This is my final year as being a MSP, as I’ve finished being a student. I highly recommend submitting an application – the MSP program is a lot of fun, offers a lot of unique opportunities, lots of free stuff (the free MSDN subscription is awesome) but most importantly gives you a huge head start in things like the Microsoft Internships (MSPs get somewhat preferential treatment), as well as being able to put down you worked with Microsoft on your résumé!


Comments Off
 

Guest ‘net usage etiquette

27 November 2009

In Australia – unlike many other countries – ISPs enforce limits on how much you can download before you’re either charged excess usage fees, or ’shaped’ (also known as capped) to speeds barely better than dialup (64kbps). It’s fairly simple – you pay more, you get more allowance (aka quota).

The usage is (usually) broken up into two time blocks – peak and offpeak. Offpeak is cheaper for the ISP since less people use that time period, so you (generally) get more data during that time.

My plan is 25gb peak/45gb offpeak/month, and my ISPs offpeak times are 2am-12pm everyday.

Last month I woke up to find a significant chunk of my download allowance was used up. Why? Because my brother in law (BIL) was staying with us. He managed to go through 8gb peak and 4gb offpeak (all while I was asleep!), equating to 32% of peak & 8% of offpeak in one night.

Guest Internet Etiquette

  1. If you’re not paying for it, you have no ‘rights’ to it
    If you’re not contributing money towards the internet bill, you have no rights to it. If you exceed a reasonable amount for a guest, you’ll lose access entirely.
  2. If you can’t adhere to the rules: Bring your own internets
    If you can’t behave, bring your own internet connection (3G/WiMAX) 
  3. Always ask if you want to download several gigabytes
    Given that Australians are somewhat forced to "ration" their internet allowance so they’re not capped before the end of the billing cycle, be polite and ask if you need to download several gigabytes and beg if you just ‘want’ to download several gigabytes.
  4. Don’t presume they have an unlimited plan. 
    BIL certainly doesn’t have an unlimited plan at his own house, so why would we? If the guest happened to be from another country (or had recently visited another country) it would be excusable for thinking that. BIL lives in Australia, he has his own broadband plan at home.
  5. Don’t hog the bandwidth
    It’s like using up all the milk or sauce in a bottle, you just don’t do it. Making your hosts connection slow is not nice for anybody.
  6. Don’t commit any traceable felonies or piss off the Russians/Chinese/4Chan’s
    I don’t want my network DDoS’d, hacked, or attacked in anyway, and I don’t want notices from RIAA or MPAA because a guest got my IP in trouble.

How much is acceptable for a guest to use?

Usage/Days in Billing Cycle/People in the house (including guest) = Very generous usage per day for a guest.

ie, For my circumstances, a single guest could use 277mb/peak (25,000/30/3) and 500mb/offpeak (45,000/30/3) each day. At that rate, BIL used 28 days worth of peak usage and 8 days of offpeak usage in a single night

Realistically, you really only "need" to check your email, maybe do some banking, etc. You don’t need to be downloading, you don’t need to be YouTube-ing, you don’t need to be using social networks (hell, the social network is "offline" when you’re visiting!)

What happens if a guest doesn’t behave?

Know your router/modem – find out if you can block the MAC address(s) of the guest so they don’t do even more damage as soon as you notice huge chunks missing.

To his credit, BIL offered to pay for the plan upgrade (and subsequent downgrade fee at the end of the month) so I had some download allowance left for the month. Other ISPs allow you to buy data blocks, that would have worked out too (iinet, my ISP, do not). This is the best case scenario.

Worst case is you’re on an ISP who still charges excess usage fees, many people have been able to rack up thousands of dollars in excess usage fees.


Comments Off
 

How I almost was a Code7 Runner Up

27 November 2009 Tags  , , ,

Microsoft ran a programming contest a few months ago called Code7 – the idea is you’d code up an app with specific support for Windows 7 – things like touch, location, taskbar improvements, etc. All you had to do was submit a (up to) 3 minute screencast of your app. The prizes were pretty awesome too, first place is trip to PDC09 + $17,777USD. Regional winners get trip to PDC09 + $7,777USD, and regional runners up get a $1000USD laptop.

Well, I fell into the latter category – that is, I was told I was a regional runner up – awesome eh? My entry was MahTweets, which has support for geocoding photos for Flickr using the Win7 Location platform, as well as taskbar enhancements.

When I say I was told I was a runner up, I mean that I was notified I’d win the prize if I completed certain forms, which I did instantly. Then I was told they’d send out the physical forms, since apparently electronically filling them in isn’t enough. Once the deadlines for submitting those forms came and went without the forms even arriving, I was a little concerned. Turns out Microsoft Legal Counsel decided it was "concerned about the use of the real status feeds from the various social media sites, use of the Flickr website" (emphasis mine – there was more stuff about logos of the various services featured, but that’s relatively minor)

Just to recap, I submitted a screencast of MahTweets, showing some of functions it does with tweets as well as uploading and geotagging a webcam picture (of my ugly mug) to Flickr. Because I featured my Flickr profile, Microsoft Legal Counsel was concerned that I didn’t have permission from Yahoo to use a screenshot of Flickr. Right. To be honest, it wasn’t until I started drafting up this post that I even noticed the Flickr crap – I’ve been more concerned with the "real status feeds".

Firstly, what the hell is a ‘real status feed‘? I asked for clarification on what they meant – and it took twelve days to get a response - turns out that’s just what normal people would call a tweet. I’d say ’social media network update’, but I only showed off Twitter functionality. MSFT Legal wanted permission from every identifiable twit in the video. "Okay, sure, that’s do-able" I thought, "there is only about eight or nine people who actually have tweets/avatars being shown off".

Turns out that no, I was wrong, they want not only consent from those people, but from any handle visible – so if XYZ wrote "hello @foo", I’d have to get consent from "@foo" as well – as well as all the names visible when I demonstrated building a group/column. Once I got the final bit of clarification, I just gave up, as the number of people I needed consent from was reaching 40+. A big thank you for those who did give me consent when I thought it was still eight or nine people.

The most frustrating bit about this is the way it was set up to be a disappointment – if they had of opened with "hey, if you can clarify XYZ legal situation, we’ll award you a prize" that would have been cool, but the "hey, you’ve won! fill in a form!" then waiting a few days (as it took that long for each email response) to find out there were more concerns just left a bitter taste in my mouth.


5 Comments
 

Peanut Sauce

19 November 2009 Tags  ,

Serves: 2

Ingredients

2 tbls Peanut Butter – Crunchy or Smooth
2 tbls Coconut
1/2 Cup Milk
  tbls brown sugar
  Splash Lemon Juice
  Splash Tomato Sauce
    Sweet Chilli Sauce to taste
  Splash Soy Sauce

This recipe is more guideline than set, more sugar gives it a more candied taste/consistency, you can use crunchy or smooth peanut butter, and more milk + peanut butter can cause it to be thinner, yet still delicious.

Goes best with chicken stir-fry’s and the like, although can be used on beef or other meats.

Just combine all the ingredients over a low to medium heat in a saucepan, stirring until combined. If the sauce isn’t thick enough, add more coconut.

Serve warm.


Comments Off
 

What Games For Windows Live needs to do to become relevant

25 October 2009 Tags  , ,

It is undeniable that Microsoft’s Xbox Live Gaming service is regarded as pretty damn good – it has something like 17 million members, and all games on the Xbox 360 integrate into with it.

In the PC world, the bastard cousin of Xbox Live, Games For Windows Live (GFWL), has not fared so well. Only a handful of games make use of the service, and those that do usually suffer because of it. Original adoption of GFWL was always going to be poor – the service launched as a paid subscription service for both the developers and the end user – and in the PC world known for free gaming, that just wasn’t going to cut it. Thankfully late last year with the release of GFW v2, it was made free for both developers and end users – who now get access to all features (like the theoretical-but-in-reality-non-existent Xbox360 <-> PC gaming).

So why has GFWL still fared so poorly despite now being free? Because there is no value to it. I should clarify that. There are features offered by GFWL, but they don’t equate to much because of how poorly implemented or supported they are. The features offered by GFWL are:

  • In the few games that support GFWL, you can talk to your “LIVE” friends. Don’t confuse these with the same friends on Live Messenger, that is a completely separate and isolated service.
  • Achievement tracking
  • Marketplace

In the desktop (or "out of game") client all you can do is connect to the marketplace – it is a glorified web browser. However there is so little content there is no reason you’d use the GFWL marketplace – seven demos, videos of games, and a few addons (although five of those are for Fallout!) You can’t purchase full games – there is no reason to use this over Steam!

gfwlsigning

The above screenshot is the login screen for the desktop GFWL client – look familiar? It should, it looks like the Windows Live Mesesnger login screen with a different skin applied to it. Surely this desktop client lets you talk to your LIVE friends? Nope! What about at least add/remove friends? Nope! The only way you can manage your friends is through a webpage (www.xbox.com) or through an XBox or XBox 360.

The isolated nature of LIVE friends and Live Messenger contacts lets far inferior chat networks/clients such as Steam or Xfire take over (inferior in terms of people on the networks and chat client features such as logging and less uglyness)

What Microsoft needs to do so that this is no longer taken as a joke is

  1. Turn the desktop client into more than a glorified browser – make it a chat client too.
    Until you can talk to your LIVE friends at the desktop, the benefits of GFWL in game are also reduced.
  2. Make the desktop client also talk to Messenger network and Messenger network talk to the "LIVE" network
    If the two clients talked to the same networks, you could choose what IM client you wanted to use (ie, a gamer-centric client, or a general chat client). Perhaps the gamer-centric client could do in game overlays ala XFire/Steam (but not require them to be GFW/GFWL titles)
  3. Get some content
    Chicken and egg situation – not going to get the content there until it has the userbase, but the userbase is never going to move from Steam or other systems unless the content is there (which is why Steam had such a hard time when it started up).

Comments Off
 

Wet [Xbox360/Demo]

13 October 2009 Tags  ,

abyss From the demo, Wet looks an interesting game perhaps not for the game play but the fantastic combination of visual and audio art style. The sound track at every stage in the demo fitted in perfectly with whatever was happening at the time – the visuals were beautiful and fitting for a game trying to be like honk-kong kungfu flicks.
The "berserk/blood lust/rage mode" mode (no name was actually given to it in the demo?) which was triggered when blood was splattered over the heroines face, switches the visuals to a cel-shaded like mode, which while simplistic was also beautiful.

Art style aside, the game plays like you’re in a Tarentino film. And like any Tarentino film, this has its ups and downs – the action is great, but apart from fight scenes there isn’t a whole heap actually going on. The story somewhat gets in the way of the killing. I think there was something about revenge.

Back to the game play, you can seamlessly switch from guns or a katana (in the demo you had just akimbo pistols or your sword) and jump around like crazy. Most of the gun play occurs while you’re in the air, sliding on your knees, running along a wall, or sliding down a ladder (holding on with your legs).

There are some quick time events, which are always a negative in my book.. but they seem to be fairly limited and were fairly forgiving too.

942900_20090904_screen001

I want to buy the game – but I have a feeling it’ll be incredibly repetitive, albeit beautiful, so I think I’ll wait till it is on sale.

If you enjoy (almost) mindless killing of people over and over, with some bullet time thrown in, I think you’ll love this game.


Comments Off