Hahlo, goodbye.

Wednesday, 12th June 2013Short URL

I’m a little bit sad today. Twitter has today turned off v1.0 of their API. As a result of this my mobile twitter client, Hahlo, has also ceased to work just short of its 6th anniversary. Six years is a long time in the web world, I know a lot of things now that I wish I’d known back then – sure would have made many things a lot easier.

Twitter has changed a lot in that time, as have the capabilities of the browsers and devices being developed for. Simple things like offline storage and position:fixed were massive hurdles at the time, now we have them without having to think about it.

So, why is Hahlo dead?

Basically, Twitter have turned the old version of the API off which, as you can probably work out for yourself, means it no longer works. This affected pretty much every twitter client in existence, but the main difference being that many of them are still in active development, Hahlo was not and hadn’t been for a couple of years.

When they originally announced the plans for the v1.0 API retirement I investigated ‘upgrading’ Hahlo to use v1.1 of the API, but the changeover would have required much more than a simple find ‘1.0’ replace with ‘1.1’. An extensive reworking of the code was something I just simply didn’t have time for – especially considering that it had been a couple of years since I’d looked at the code, and it was neither very well organised nor suitably documented. Rookie error. So, the code didn’t get updated, and Hahlo was destined to die when Twitter eventually pulled the plug on the old API, which has now happened.

The beginning, the challenge.

Hahlo has been around longer than the iPhone, or any other iOS device, has even been on sale in Australia – and many other parts of the world. In fact the first two iterations of Hahlo were developed entirely without first-hand access to an iOS device. Big thanks to all those on the other side of the planet who helped test fiddly incremental changes as I made them and posted about them on twitter … using Hahlo, of course.

The original concept, back when it was iTweetr.

Hahlo comes from a time before native apps were even an option. It was one of the original web apps designed specifically for – but not limited to – iOS. Development of the original concept was started on the day of the WWDC keynote in 2007 – in fact it is exactly 6 years to the day (depending on which part of the world you are in) that I posted the original concept. A more ‘functional’ version that people could use followed a couple of weeks later. My concept also landed me on the front-page of Digg which was more of a ‘big’ thing back then than it is now.

Of course, webapps are still around now, but they are much less dominant than they were 5 years ago – despite what some corners of the web will still try and tell you. Mind you it’s hard to imagine such a time existed now that Apple have sold more than 50,000,000,000 native apps – god only knows how many of them are twitter clients of some variety (and of quite varying quality).

Some numbers.

Hahlo is/was just 2 weeks short of its true 6th anniversary – and even though it hasn’t had any regular maintenance since 2009 it was still 90% functional (a few things had broken, and never been fixed, as the Twitter API evolved over time, most of them were minor).

In those 6-ish years Hahlo racked up:

  • 3.2 million visits
  • 600,000 unique visits
  • 27.5 million pageviews
  • 50,000 pageviews per day at its peak

A twitter client for (almost) everyone

It might have been conceived as an iOS-dedicated web app, but it was much more. It was truly cross-browser (user experience did vary…) with people using it in everything from Safari to Firefox to Chrome to Opera and even Internet Explorer – although I doubt the experience was very nice in IE.

Of course, as you’d expect iOS users made up the bulk of visits (about 60%), outside of that – somewhat surprisingly – there were equal amounts of Windows and Mac users (about 15% each). With the remaining 10% logging on using a variety of gadgets including: Playstation (PS3 and PSP), Blackberry, Nintendo Wii, Nokia phones, Android devices, Linux, Windows phones and probably any other device from the last 5 years that you can think of.

Made in Australia, but for the whole world.

Hahlo has had visitors from 198 countries/territories (according to Google Analytics) – The top 10 countries (in order) were United States, United Kingdom, China, Japan, Germany, Canada, Australia, Netherlands, Brazil and France.

Number 198 on the list was Vatican City with a solitary visit that lasted 1 minus and 36 seconds. Hello Mr Pope?

When Oauth was introduced for Hahlo v4 I even kept the old v3 site around specifically for users in China who couldn’t use v4 since they couldn’t authorise their accounts because Twitter.com was blocked. v3 and the much older version of the API it was using lived on for a little while longer but both have been dead for a while now.

Within those 198 countries Hahlo had visitors from some 16,392 cities/towns – Top 10 being (in order) London, New York, San Francisco, Seattle, Tokyo, Chicago, Beijing, Sydney, Los Angeles and Atlanta.

Lots of usage.

  • Approx 80,000 unique users logged in
  • 1.5 million tweets posted
  • 110,000 direct messages sent
  • 100,000 tweets retweeted
  • 50,000 tweets favourited
  • 200,000 searches

Twitter has exploded in the last 6 years.

@hahlo was twitter user 7,097,682 – now, 6 years later there are well over half a billion active users on twitter… not to mention all the wonderful spam bots.

Hahlo was just the 28th ‘app’ registered for the Oauth API – the time when registration of apps with Twitter became required – there are now more than 4.5 million apps registered.


There were 4 major version releases – with a few smaller updates in-between – the last being v4.2 in May 2010 when I added the iPad layout. The original version was really just a timeline and a profile, by the time it reached versions 3 and 4 I think I had pretty much every Twitter API endpoint covered.

Hahlo integrated the Summize search (May 2008) well before Twitter acquired them and adopted their search technology as the default twitter search. Hahlo had ‘conversation views’ before (I believe, please correct me if I’m wrong) twitter.com had them. There were maps of locations, and oEmbeds galore in later versions allowing everything from YouTube to Flickr and more to display directly in your timeline long before the same thing became common place on twitter itself and other clients. It had Growl support, and even had mobile push notifications via the Boxcar service.

And in November 2008 when Hahlo’s growth happened a little too quickly for my original web host they freaked out and cut off my account, that was when the awesome people at Media Temple stepped in to help out. Hahlo hasn’t had an issue with hosting since.

A visual progression

Version 1.0 – Simple, and a bit ugly…

Version 2.0 – Still simple, a little tidier

Version 3.0 (couldn’t find a good shot with the titlebar…) – introduced a refreshed UI and a stack of features


Version 4.0 – Everything was new for v4

Version 4.1 – tap a tweet for more options, just like the popular native apps have now


Version 4.1 – geo-tag your tweets


Version 4.1 – viewing retweets


Version 4.1 – full user profiles

Version 4.2 for iPad – and the last update Hahlo received

More screenshots and mockups here.

Sticking it out until the end.

While traffic to Hahlo is just a faint shadow of what it once was – now just 4,500 visits a month down from around 300,000 per month at its peak (May 2008) – there have still been nearly 1000 active users in the last 6 months. I’m sad they now need to find something else, but I’m sure they’ll be ok, there are countless options available to them.

Moving on.

I’ve know this day was coming for a while, and although it’s a little sad, I’m not worried – nor should anyone else be – there are a ton of great alternatives out there. Twitter.com is a whole stack better than it once was, and there are great mobile clients literally everywhere you look, my personal preference (on iPhone, iPad and Mac) is Tweetbot but both Twitterrific and the Official Twitter clients are also pretty great options.


Thanks to everyone who used Hahlo, especially to those who helped with testing (for example, the Hahlo 3 beta had over 1,000 people taking part). Thanks to those who reviewed it and wrote about it – in 2008 John Gruber described it as his favourite third party Twitter web client. Thanks to those that talked about it on podcasts like TWiT, or recommended it to friends.

BIG thanks to those who donated a few dollars here and there – the donations were never going to make me rich nor cover the several hundred hours I spent working on it, but they did help with some initial hosting costs, plus caffeine and sugar to assist with the coding process. Massive thanks, again, to the awesome folk at Media Temple, without them Hahlo might very well have disappeared back in 2008.

Hahlo, you taught me many things. It was a little stressful at times, particularly for something that was really just a hobby project, but it was a lot of fun.

Goodbye Hahlo.

1 comment

Chrome/OAuth bug fixed

Thursday, 30th September 2010Short URL

Spent last weekend reworking all the OAuth code in Hahlo in an attempt to solve the weird redirect bug that people were experiencing in Google Chrome and… it worked! I’ve just pushed the update live so hopefully all you people who were having trouble trying to use Hahlo in Chrome should now be able to use it again. Apologies for taking so long to get it fixed, better late than never ;)
If you are not currently using Google Chrome for Business, you are missing out. In this post, we will cover the top 5 reasons you should make the switch today. After all, Chrome runs on Windows, Mac, Linux, Android, and iOS. For ore business tools, we recommend you to check out the new guide on how to create w2 forms.
1. Speed
Chrome is designed to be the fastest web browser. With one click, it loads web pages, multiple tabs, and applications with lightning speed wifi for offices UK the best network for business. Chrome is fitted with V8, a faster and more powerful JavaScript engine. Chrome also loads web pages faster by using the WebKit open source rendering engine. The Omnibox increases speed and efficiency by allowing you to type both searches and web addresses in the address bar.

2. Simplicity
Chrome is a clean and simple browser. The omnibox and multi tabbed browsing make navigating the web a breeze. When you close chrome, it will remember the tabs you had open so you can pick up right where you left off. Chrome also comes equipped with a built-in PDF viewer, eliminating the need to install any software. You can even print, resize, and save PDF’s.

3. Security/Privacy
Chrome keeps you safe and sound with its built-in malware and phishing protection. It has safe browsing technology and will show you a warning message before you visit a site that is suspicious. Chrome also automatically updates, so you always have the latest and most up-to-date version.

Chrome also lets you keep control of your private information while you browse online and try online gaming sites fornew jersey sports betting. Browse using Incognito mode if you don’t want your website visits or downloads recorded. It also doesn’t keep any cookies. You can control your privacy preferences by selecting Settings and then Show advanced settings. From there, you can adjust your Privacy section and clear your browsing data.

4. Customization
Customize Google Chrome to make it your own. Use the Chrome Webstore to add apps, extensions and themes. Apps and extensions give you the latest in productivity, games, education, etc. Themes allow you to bring your browser to life with colors and graphics. You can even create your own themes.

5. Signing In
If you are sharing a computer with other people, you can add multiple users to keep your bookmarks, apps, and extensions separate. Anything you update on one device will instantly update everywhere else you sign in to Chrome brower. Once you sign in, you decide what you want to sync.

1 comment

Important Message

Thursday, 17th June 2010Short URL

I’ve noticed a few ‘rogue’ tweets in the last day or two saying things “when Hahlo stops working” etc. Lets clear this up, right now. Hahlo 4.2 (the current, latest, and only supported version) will NOT stop working after Twitter turns off ‘basic authentication’ at the end of June.

However, Hahlo 3.x (which I’ve kept available for users who were unable to access Twitter to authorize for OAuth), does use Basic Authentication, and as a result it will cease to work after June 30. Nothing much I can do about this, I’ve kept it up as long as I can. I’m a bit sad to see basic auth die (even though I agree its a good thing), mainly because I’m going to lose a bunch of loyal users from around the globe, and likely a LOT from China (who currently represent a large percentage of all users).

In summary. Hahlo 4.2 will continue working for the foreseeable future. Hahlo 3.x will no longer work after June 30. Sorry :(

0 comment

Hahlo 4.2 – Now iPad friendly

Monday, 31st May 2010Short URL

Not that it iPad friendly wasn’t before, in fact Hahlo ran perfectly fine on the iPad, but with that extra screen space available it would be silly to not make use of it, wouldn’t it? All up it isn’t a massive update, but some good bits and pieces have been thrown in.
If you left your laptop at home but need something that’s not stored in the cloud, you can always use remote desktop access to view your primary machine through your iPad. Microsoft Remote Desktop is a free, easy-to-use iOS app that makes remote access simple just like when using business tools including this printable w2 form which works great with all employees.

With powerful apps loaded on your iPad, best network for business, the right accessories and remote desktop access, your iPad transforms from a basic tablet into a robust business tool.

Presentations on the go
The new iPad Pro includes a USB-C port, so you can connect to thousands of applications and systems that support this type of adaptor, including presentation systems. This means you can work on presentations and present them without having to lug your laptop to a client’s location. This added use on such a portable and light-weight device like iPad is ideal for traveling professionals.

Hahlo 4.2 - Now iPad friendly

What’s New

  • iPad specific changes
    • Custom landscape layout with menu visible on the left (see screenshot above)
    • Portrait mode retains the ‘traditional’ Hahlo overlay menu accessed from the ‘menu’ button in the header.
    • Slightly larger navigation tabs
    • Bigger maps (640×480) on the geo-location pages
    • Custom iPad startup image when you add Hahlo to your home screen
    • New 72px home screen icon for the iPad
  • Added ‘Retweeted by’ links (similar to ‘in reply to’) to all three retweet timelines
    • These allow you to quickly see who else has retweeted that specific tweet
    • Currently shows a maximum of 10 users (I may increase this in the future)
  • Added all three retweet timelines to the menu (Retweeted to Me, Retweeted by Me, Retweets of Me)
  • Using Twitter provided location data (for locations in the US), other locations are still using the google Maps API.
  • Added link on geo-location pages to open the current location in Google Maps (will work on iPhone and iPad)

Bug Fixes

  • Fixed a link parsing bug where links that omitted http:// would be linked incorrectly, this has now been fixed for links that begin with www but still omit http://


Merry Christmas, Hahlo 4.1 is my gift to you

Wednesday, 23rd December 2009Short URL

I figured now was as good a time as any to push out the 4.1 update, even if I didn’t manage to get everything into it that I had originally hoped. The end of the year snuck up on me – I should have been paying more attention to that. I’ll add in the ‘missing’ features sometime in the new year. But, I hear you ask, what IS in Hahlo 4.1. Well…

Lists in Hahlo 4.1


You can check out the lists you’ve created, the lists you’re following and the lists that others tweeple have added you too. It’s totally awesome. You can also check out what lists other people follow/belong to from their profiles (more on that shortly). You can add people to your lists, and remove them should the need arise. The only thing(s) I haven’t added yet are the ability to create brand-spanking new lists or delete old lists from within Hahlo, for the moment you’ll have to do that on twitter.com.

Retweets in Hahlo 4.1


Personally I love the new retweet system but I’ll save my long winded explanation/rant for another time and place. In 4.1 I’ve added support for the various retweet timelines that twitter has made available, these include “Retweeted to me” ie. things the people you follow have retweeted, “Retweeted by me” should be self explanatory, and my personal favourite “Retweets of me”. I like this because it gives me an indication about which crap I tweet that actually interests people. Twitter has a few small tweaks planned for the retweet api which should allow me make these timelines even better in the future.

But what about the act of retweeting itself, well that’s dead simple. Just tap on a tweet, and then tap the “RT” button that appears, you’ll be asked to confirm the retweet and then you’re done. Easy. Awesome.

New user profiles in Hahlo 4.1

User profiles/timelines

With some of the changes that have happened to the API since 4.0 was released I can now combine the profile and archive/user timeline into a single page, meaning its easier for you to get to a users details AND their tweets at the same time. All you need to do is tap on the ‘Show Profile’ link in the top right on a user timeline and the profile will slide out.

You can also get this profile on the friend and follower lists, as well as on the lists of subscribers/members for any list. Within this slide out profile you’ll also get a couple of options (as shown in the screenshot above) to follow/unfollow the specified user, or to add them to one of your lists, or to block them. I’ll probably add a “report as spam” function in there somewhere in the next update.

Geotag you tweets in Hahlo 4.1

Geotag your tweets

First up I should mention that for geotagging to work you will need to have enabled it in you settings on twitter.com – as far as I can see this isn’t an option that you can set/change via the api just yet.

Once you’ve done that you can also choose to set it so that Hahlo will automatically append you current location to your tweets by heading to the Hahlo settings page and turning on “always add geolocation” (this is off by default). If you choose not to turn this option on you can still add location on a tweet-by-tweet basis just by tapping the ‘add location’ link that is in the bottom right corner of the update box (you can also tap ‘remove location’ to do exactly that).

You might also notice that occasionally the location that is return is a bit wonky, unfortunately the Google Maps api (which I’m leveraging to get the ‘human readable’ location) doesn’t alwasy return the best results for the latitude/longitude combo that I pass to it. Because its actually the coordinates that are passed to twitter, and not this text version, things should be ok, but please let me know if any really weird shit happens… it probably will…

The tweet tray

Tweet actions – “The tweet tray”

One of the biggest UI changes in 4.1 is the ‘tweet tray’. This replace the two slide-in-from-the-side menus that were added in 4.0. The reason for this is that the old style didn’t allow for enough future expansion. Strangely this ‘tray’ style is something that I had in an early version of 4.0 before switching the the left and right slide in style. I think this new style works better.

To get to the tray all you need to do, just like before, is to tap anywhere on a tweet and it will appear below said tweet. Easy. Depending on which timeline you are viewing you’ll see a bunch of options. Using the above screenshot as reference I’ll quickly run though the ones you’ll see and what they do. Ok?

  • Speech bubble icon – takes you to the combined profile/timeline for the author of the tweet that you’ve selected.
  • @ icon – opens the ‘tweet’ box ready to send an @ reply (or mention) to the selected user
  • RT icon – to retweet the selected tweet, you’ll be asked to confirm that you want to retweet it to your followers (just like on twitter.com)
  • Star icon – add this tweet as a favorite
  • DM icon – open the ‘message’ box ready to send a direct message to the author of the selected tweet
  • Location icon – this one is only visible if the selected tweet has location info attached (and you’ve got it turned on). Tapping this takes you to a page which will shown you on a map where the tweet was sent from (see below).

Find users in Hahlo 4.1

Find users

A new search feature added in 4.1 is the ability to search for other twitter users. Whether you’re searching for someone to follow, someone you know, someone you’re already following or someone you’d like to block the new “find user” feature should be helpful. Might be a nicer way to find a specific follower, as opposed to trawling through pages of usernames in your follower lists.

Tweets with location data in Hahlo 4.1

Tweets with location data

Whenever you spot a tweet with a location attached you can checkout exactly where that tweet was sent from by tapping the location icon in the tweet tray (see above). You’ll get to see a nice google map of exactly where John Doe was when they tweet that they were walking their dog. Yeah… a little stalker-ish, but remember they chose (or at least should have) to add that data to their tweet.

Coming in 2010 to cinema near you…

Like I said there were a few things that didn’t quite make it in time for 4.1, but I’ll look at those in the new year. Heres a peak at whats in store.

  • Add/delete lists
  • Tweetmeme info for links in tweets
  • Tweetmeme popular links/topics etc
  • Location based trends (once api is available)
  • …and more (twitter keep adding new features so you never know what might be next)


Happy MediaTemple day (for yesterday)

Tuesday, 24th November 2009Short URL

Slipped my mind yesterday, was thinking about other things, but yesterday it was one year since the MediaTemple guys jumped in to help me out and help keep Hahlo alive and kicking after the ‘other’ host cut me off.

MT were really helpful in getting things setup and moved across and since then its been pretty smooth sailing, with much (much, much) better uptime and substantially faster response times. If you need top notch hosting I’d definitely recommend giving MediaTemple a go.

I had hoped to do something ‘special’ to celebrate the day, but it kind of snuck up on my and I only realised it was approaching on the weekend, so no surprises yet. I’m hoping to try and get most of the lists implementation done this coming weekend which is one of the big pieces left to finish for 4.1

1 comment

Who’s a pretty birdy

Thursday, 12th November 2009Short URL

Just like Hahlo 4.1 he’s not quite finished, but I thought I’d show him off anyway. I’ve managed to go two and half years without creating a bird mascot/icon for Hahlo, and I had one planned for the release of v4, but just couldn’t get it to a point where I was happy with it. Sure this doesn’t add any new functionality to Hahlo, but that isn’t the point.

While I’m also talking about 4.1 I should give you a quick list of what to expect.

  • Support for the new Retweet API, including each of the three retweet timelines (Retweeted to me, Retweeted by me and Retweets of me)
  • Support for the new ‘home’ timeline, same as current friends timeline but includes Retweets.
  • Support for the geolocation/geotagging api, which may or may not be live when 4.1 goes out.
  • Support for Lists – view your lists, the lists you are following the lists that are following you, add people to lists, create new lists, and more.
  • Tweetmeme support, better twitter trends (if new api is active in time) and much more…

If you’ve got a suggestion, or found a bug that needs to be squashed, now is the time to let me know so I can try and take care of it in 4.1


Early 4.1 mockups with lists!

Sunday, 1st November 2009Short URL

Unless you’ve been living under a rock you should now be aware that Twitter has introduced lists, and most people seem to have access to them now. But, I hear you ask, when are they going to be available in Hahlo. Well, in 4.1 they will be, but there are a few other things that need to happen before then.

The plan (at the moment)

Right now the plan is for the 4.1 update to include support for lists, the new retweet api and a few other things (mainly thing I didn’t get a chance to add/complete for 4.0). However, the list api (or at least some of it) seems to be functional, but there is no documentation as yet so I haven’t started playing with it, the retweet api is documented but not active. Is it just me or do those situations seem a little backward?

So I can’t really play with the APIs to much so I’ve been mocking up how I think/want the lists pages to work when I get to them (keep reading for a few quick mockups I whipped up yesterday). In the process I’m also think about making a few changes to other sections of Hahlo, which I’ll go into a little more detail about later.

So, Lists.

Until I know exactly what info I can get out of the API all and any mockups are simply that, just mockups. So feel free to provide feedback if you’ve got any ideas on how you’d like to see lists work within Hahlo, I open to good suggestions.

These mockups show how a list might look when viewed within Hahlo, nothing overly exciting since a list is basically just a custom timeline.

Hahlo 4.1 Mockup - List Timeline

Hahlo 4.1 Mockup - List Timeline + List Info Hahlo 4.1 Mockup - User's lists


I will be replacing the current RT-prefixed retweet method when I switch to the ReTweet API when it becomes available. I see no point in maintaining two different methods for doing the same thing. Once I’m happy with my lists mockups I’ll probably start thinking about how retweets are going to integrate, so keep an eye out on here for some mockups.

Other changes

So far I’ve got two main changes that I’m seriously considering. Changes to the user profiles/archives and changes to the slide-in menu you get when you tap on a tweet.

First, the user profiles. At the moment each user basically has two pages, an archive (user timeline) and a profile. This was originally done because the full profile data wasn’t available in the user timeline api, but now it is, so I’m probably going to merge the archive and profile into one page (much like it already is on twitter.com anyway). Profile info will be hidden by default, and can be viewed by tapping the ‘view profile’ link in the top right. The following mockups show what I’m thinking. I’ll also be using this method of showing extra info on the list timelines as well.

Hahlo 4.1 Mockup - User Archive/Timline Hahlo 4.1 Mockup - User Archive/Timline + Profile

Secondly, the tweet ‘actions’ menus. These are the little slide in menus that you see when you tap of a tweet or avatar in your timeline. My current thinking is that I’ll merge the two into one menu that appears below a tweet on-tap, instead of one on the left and one on the right, this will allow for bigger, easier to tap buttons, and more buttons (without breaking the layout) should the need arise. When I’ve got a mockup I’m reasonably happy with I’ll post it up here for feedback.


Well, I need the APIs and I need time. Until I’ve at least got the APIs you won’t be getting an ETA. So hold tight, just remember that with Hahlo you’ll all get the update automatically as soon as its ready, nothing extra to download, nothing extra to pay.


Nominate Hahlo in the 2009 Open Web Awards

Sunday, 18th October 2009Short URL

It would be totally awesome if you could all nominate Hahlo in one (or both) of these two categories for Mashable’s 2009 Open Web Awards.

Best Twitter app

Best mobile based twitter app

0 comment

Lists, ReTweets and GeoLocation

Sunday, 4th October 2009Short URL

Just prior to Hahlo4 launching Twitter announced that they would be adding a new ReTweet API, as well as the ability to geo tag tweets. And this week they’ve announced that they’ll be adding “lists”, a concept which other twitter apps have implemented, usually calling the feature ‘groups’. I had started adding something similar to Hahlo4 early on as an alternative to saved searches (which weren’t available via the API at the time).

You can read more about the coming ‘Lists’ feature over at the twitter blog. This is how they explained the concept:
The idea is to allow people to curate lists of Twitter accounts. For example, you could create a list of the funniest Twitter accounts of all time, athletes, local businesses tools like those available at https://www.thepaystubs.com/1099-r-form-generator, friends, or any compilation that makes sense.
So I guess you’re all wondering when do we get to play with these things using Hahlo4? Well.


As yet no details about how the Lists API will work have been released, so its hard to say exactly wheat I will/won’t be able to incorporate. However, if the recent enhancements to the Twitter API are anything to go by, theres a pretty good chance I should be able to provide the same functionality that they add to Twitter.com.

Personally I’m expecting that it will probably function in a similar way to the saved searches API. Until we’ve got official word as to how the Lists API will work we won’t know for sure, but I’m looking forward to it.


I’m not the biggest fan of retweets in general, always been a believer that if I was interested in what person X was saying then I would follow them myself. After all Twitter’s tag line is/was “what are you doing?” not “what is someone else doing?”. However some people just love them, and as a result it was probably the most requested ‘new’ feature that people wanted in Hahlo4.

Seems that witter themselves have realised that a lot of people love retweeting and they’re adding it to twitter.com and to the API. Details about the API and how it works have been released (and changed several times) but as yet they aren’t active. But once they are I’ll start adding them into Hahlo4.


Right now Twitter search uses the location from your twitter profile as the location for your tweets, but Twitter is adding the ability to geo tag you’re tweets with your actual location. So, for example, you’ve got your location set as “Chicago, Illinois” but you’re actually tweeting from somewhere in the middle of Texas, well you’ll be able to tag that location onto you’re tweets.

It sounds like this will be an option that is off by default (I imagine there will be quite a lot of people who don’t want to share their specific location for all their tweets). Again, this addition to the API isn’t live yet but once it is I’ll start playing around with it.

What I need/want from you guys

If you’ve got any thoughts, preferences, suggestions as to how you might like to see these new features work within Hahlo4 then please lave a comment on this post.

More info on these new APIs can be found here:

0 comment

What happens if you can’t use OAuth?

Friday, 11th September 2009Short URL

Something I’ll admit didn’t even cross my mind until it was brought up by a beta tester about a month ago is that those who had been using Hahlo because twitter.com was blocked for one reason or another, now can’t really use Hahlo4 because it uses OAuth. And OAuth requires you to login at twitter.com, damn it.

First, why OAuth?

Its the way forward, twitter won’t be keeping the basic auth API around forever, despite certain developers moaning about it, and they are making changes that are only available via OAuth. I don’t necessarily like having to jump back to twitter and then back to hahlo when I login, but (and hopefully you’ll notice this too) you don’t need to login nearly as often as you did in the past.

I’m sorry China, Iran, and everyone else behind ridiculous firewalls

I hear you’re pain, truly I do, but there is nothing I can do about twitter being blocked, so don’t blame me, blame those who put in place the restriction in the first place. However, since many of you were able to use Hahlo 3.1 I have put up a copy that you can continue to use (for as long as it keeps working… more on that in a minute), you can get to it right now, and there is a link on the Hahlo4 login screen too, just go to http://v3.hahlo.com.

But ‘feature X’ is missing/broken in Hahlo 3.1

Sorry, but I’m not going to commit to keeping two completely different versions of Hahlo up-to-date, maintaining 1 version is more than enough work to fill up my free time. Hahlo4 is the way forward, and it will be the version that gets updates. Hahlo 3.1 will not be receiving update, with very, very, very few exceptions.

Can you *please* add basic auth to Hahlo4?

Short answer, no. For a few reasons. It would require me to rewrite a large chunk of Hahlo4’s code, it adds another level of complexity that I’d rather avoid (less complexity = less potential problems), and spending (my free) time implementing a login scheme that may not exist in 6 months time is not something I wish to do.

Again, I’m sorry there are some of you who love Hahlo but can’t use version 4 because you are unable to login via OAuth, which is why I decided to keep v3.1 available, so if you can’t get use OAuth, remember you can still use the old version here: http://v3.hahlo.com

1 comment

The Hahlo4 menu

Monday, 7th September 2009Short URL

Probably one of the most important parts of Hahlo is the menu, without it you can’t get to many of the great features. For Hahlo4 the menu has changed a little from that in the previous version, but I’ve tried to keep the concept behind it the same. I had a great comment from Dan Rubin (thanks Dan) on flickr earlier tonight.

I’m enjoying Hahlo4 so far, *except* for this new menu: partly due to the icons (if they are temporary, that’s understandable, otherwise they seem very out of place style- and color-wise) but also due to how much I liked the display of the nav on Hahlo3. I’d love to see icons from the glyphish.com/ set, for instance…

— Dan Rubin

I started to reply over on flickr but thought I’d move the discussion over here instead. In essence I kind of agree with what Dan’s saying, although I do have my reasons for taking the menu in this particular direction. Lets me say this first though, I really appreciate constructive criticism and suggestions, they get me thinking about things I may not have previously considered.

Why I did what I did

The colours – in Hahlo3 all the icons were blue and orange, I’d grown to dislike them, and with the rest of the interface being refreshed it seemed silly to not update them as well. I did however put some thought into which colours were used for which icons though.

  • Red – things you tweeted (Recent, Archive and Sent DMs)
  • Blue – friends, followers and tweets and DMs from them
  • White – the white silhouette represent you
  • Green – everyone, used for mentions, but also on Near Me and Saved

Updated Hahlo 4 Menu

Why did I go for the rainbow instead of keeping it simple and use something like Glyphish as Dan has suggested. The main reason was I wanted people to associate the colours with the functions for quickly finding the icon they are looking for. I felt that it they were all the same colour (and with the number of icons increasing) that the menu would become increasingly confusing to use (the myriad of colours may not have really solved this…)

I’ll admit I’m still not entirely happy with the menu, but it won’t be changing again before this Wednesday’s launch, in particular I don’t like my icons for Trends or Saved Searches. I may revisit these in the next update which will likely also add another row to the menu (for the new retweet api, plus a couple of other new features I’m working on).


Early on, and I’m talking really early on, like last December when I started working on Hahlo4, I considering a menu very similar to what is now present in the new Facebook iPhone app. Ultimately I didn’t pursue this idea because I liked the hud-style I already had in Hahlo3, but I knew it would still need an update.

I did also consider, simple monochrome icons, I thought (and to a certain extent still do) that they’d fit nicely with the style of the UI but for the reasons mentioned above I didn’t follow that idea very far either. While I do like Glyphish, had I gone down this path I probably still would have made my own (mainly because there aren’t suitable glyphish icons for all the items in my menu).

Future changes/enhancements

I’m open to suggestions, the more the merrier. Once Hahlo4 goes live on Wednesday, and I’ve had a couple of weeks away from working on it, I might start to play around with some ideas in readiness for the previously mentioned update.

Maybe the menu needs less icons, more icons, different icons, different colours, split them over multiple pages (like the Facebook app, iPhone homescreen etc). Leave your feedback, links to examples, whatever, its all helpful.


August comes to an end

Monday, 31st August 2009Short URL

Not long to go now until Hahlo4 goes live, mostly thanks to a super productive August. In the past month I’ve managed to get a mountain of work done towards ‘completing’ 4.0. Some stats:

  • 3 weeks leave. (inc. 1 week spent bed ridden with vertigo)
  • 24 commits.
  • Approx 300 code changes. (see graph below)
  • 10 tickets closed… doesn’t accurately reflect anything, as most things don’t get chance to be ticketed before I’ve already finished them
  • Over 200 beta testers (thank you!)
  • 9 donations (double thank you!)
  • Approx 61,000 pages views for Hahlo4 beta (compared to approx 138,000 for Hahlo 3.1 in August)
  • 1 broken SVN repository (and a couple of hours later, 1 fixed SVN repository)
  • 1 accidentally deleted (and not backed-up) .htaccess file… oops.
  • 9 days ’til launch

Hahlo4 Commits hosted by Ember

For those of you who use the combined timelines (Recent+Mentions, Recent+Messages etc), auto-refresh should now be functioning for you on these timelines. Do a full/hard refresh if you need to. Please report any bugs.

That marks the last ‘big’ thing I wanted to get finished before launch (there are several much smaller things still to do, some before launch, some after). So I’ve now got about a week to move the features list, faq, help etc across onto this blog (instead of over here.

9 days ’til 09/09/09. Bring it.

0 comment

Good progress despite ‘issues’

Sunday, 30th August 2009Short URL

On Wednesday night I wrote down a list of 5 key things that I wanted to add/fix/change before launch. They were:

  • “Fix” the friend/follower lists – allow you to follow/unfollow directly from the list, and to block a user if desired.
  • Blocking users – I’ve had the code written for weeks, it just wasn’t hooked up to anything.
  • Ability to delete Direct Messages – because… I’d forgotten to add it back in…
  • Menu cleanup – for post 4.0 needs…
  • Re-enable auto-refresh on combined timelines.

I made great progress on Thursday night added the ability to delete old direct messages and got most of the friend/follower list changes done, I then finished them off on Friday. The menu cleanup wasn’t really high priority, but as it was relatively easy I knocked that off pretty quick too. Then came the weekend.

Hahlo4 Followers list Updated Hahlo 4 Menu

After having a mostly lazy Saturday I sat down to finish adding “user blocking” to the profile pages, but before I did that I decided to cleanup some of the old/unused files that were floating around. I deleted (or moved) a bunch of disused images and a couple of js files… then I went to commit the changes to my SVN… epic fail. I’m not sure what went wrong (apart from likely user error) but I ruined my working copy on my local machine and it wouldn’t let me check the code back out. Then when I finally got it check the code out it wouldn’t let me recommit it. It took over an hour but I finally got it “working” again. Sometimes I think SVN is more pain than its worth. So Saturday was a waste, didn’t feel like doing any more coding after I got that working.

So today (Sunday) I had another crack at the user blocking bits and pieces that needed finishing, but before that I sync’d my working copy dev.hahlo.com using Transmit that same way that I do a dozen times a night… and for some reason it deleted my htaccess file… my non-backed-up htaccess file… I written a new htaccess file now (I thin its the same…) and at the same time added gzip compression and played around with the cache expiry times on resources to try and help speed things up a little. Gzipping the js and css alone appears to have saved around 150kb, so hopefully load times should be improved, maybe. I’ve also just finished cleaning up my css, which cut 6kb from its un-gzipped size.

After that was sorted I added a block button to the bottom right of user profiles (in addition to the block button you’ll find on the friend/follower lists – access it by tapping the cog). I’ve also added a “Blocks” page, which you can access from the menu, this page lists all the users that you’ve already block, and allows you to unblock them if you so desire.

The only thing on my list I haven’t yet looked at is re-enabling the auto-refresh on the combined timelines (friend+mentions, friends+messages etc.). It was originally left out because of the relatively low api calls per hour limit (which I think was about 75 when I started work on H4), this limit is now 150 per hour so that’s less of an issue. I’ve also got to add caching to these timelines (friends timeline, mentions, user timeline and a few others are currently cached for 1 minute to try and reduce api calls when you jump back and forth between a couple of pages quickly). Assuming I hit no hurdles, I will try and get this complete for 4.0.

0 comment

Do you use Boxcar?

Saturday, 29th August 2009Short URL

Since push notifications became available to app developers there have been a few options crop up to push twitter notifications to your iPhone. A couple of the native apps added it directly to their offerings, but as a webapp Hahlo doesn’t really have this option available, that’s where something like Boxcar comes in.

I was contacted by Jonathon from Boxcar a couple of weeks ago about adding support for Hahlo to the next version of his Boxcar app, in addition to the several native apps it also supports. So what does Boxcar do? This is from their site:

Every 2 minutes, we will check your Twitter account for new @mentions and direct messages. If there is anything new, we’ll let you know via a push notification!

You can view the notifications directly in their app, or choose the twitter client of your choice to view the @mentions, messages etc. There is support for several of the big native options in addition to Hahlo. TechCrunch has a detailed write-up on Boxcar 2.0 and all that it offers.

Get Boxcar on the App Store

The new version of Boxcar has been submitted and should hit the app store around the same time, if not before, I launch Hahlo4 (hopefully). So if you love Hahlo, and you dig push notifications then you should give Boxcar a look.

0 comment

Announcing the 9th

Wednesday, 26th August 2009Short URL

So even though I’ve been sick and lost almost an entire week which I had intended to dedicate to getting Hahlo4 ‘finished’ I’m still going to forge ahead towards the launch date. The date you ask, well you might have already worked it out from the post title, but it will be September 9th.

Why September 9th? Aren’t there enough things happening on that date? Sure lots of people are going to be interested in the release of The Beatles Rock Band, and no doubt squillions of Apple lovers will be waiting anxiously for Apple to not announce their fabled tablet at their press event, but I’ve kept people waiting for Hahlo4 for long enough. Setting myself a date means two things. First, everyone will get Hahlo 4 on the 9th. Second, I now have a deadline to work towards as motivation to get things finished.

Now, back to that week I lost. Vertigo’s a bitch. As a result there are likely to be a couple of small things that don’t quite make the cut for 4.0, but don’t fret they’ll be in 4.1 which may come before and/or with the new retweeting and geo-location support that Twitter are adding to their api in the near future.

Now, with that out of the way, back to finishing things off. The clock’s ticking.


Quick note about auto-refresh

Tuesday, 18th August 2009Short URL

If you’ve ever wondered why auto-refresh in Hahlo4 doesn’t seem to work for you even though its turned there is a good chance you’ve also got the “Inline Replies” and/or “Inline Messages” options turned on too. Currently, when you enable one (or both) of these options auto-refresh will be automatically disabled when viewing your friends timeline (it should still work for mentions, user timeline etc.)

This is a carry over form Hahlo 3, where it was put in place for two reasons. Firstly having both inline options turned on in addition to auto-refresh has the potential to burn through api calls very quickly (eg. 3 requests every refresh, at 1 minute intervals would have used 90 api calls per hour… at the time the limit was just 70 per hour). With the api limit now at 150 this isn’t as big an issue as it was previously, but still something to be aware of. Secondly I had great difficulty getting the auto-refresh to behave correctly when the inline options were turned off, I was frequently getting the wrong responses (ie. more or less tweets that I was expecting).

That second issue may have been rectified with the rebuild for Hahlo 4, but I am yet to test it. I will try and sort it out prior to launch so that those of you with “Inline replies” or “Inline messages” turned on can still make use of the auto-refresh feature.

0 comment

Growl support added

Monday, 17th August 2009Short URL

If you’re one of the many people who enjoy using Hahlo in Fluid you may have been using YungSang’s Fluid userscript for Hahlo 3 which added Growl support (among other things). Now Growl is supported out-of-the-box.

To turn on Growl Notifications you’ll need to head to the ‘settings’ page and turn on the Growl option (at the bottom), you’ll also need to have ‘auto refresh’ turned on.

Hahlo4 Growls...

For those who follow hundreds or thousands of people, you might not want 50 Growl messages popping up every couple of minutes (I know I wouldn’t), so I’m planning to add some extra options related to Growl. For example, I will be adding a “summary notification” option, which will just display one notification saying something like “12 new tweets”, and might include a list of the usernames for those tweets.


Saturday updates

Saturday, 15th August 2009Short URL

The Big

My “convert links” function, which basically runs through each tweet and makes all links, @mentions and hashtags clickable, has never been bullet proof. I catered for numerous situations where extra character might have been present before or after the text attempting to be linked. A basic example, (@username) would work fine, but (@username!) wouldn’t, the ! would get included in my link and render it useless. It was time to start again.

So I’ve rewritten my entire function, and its now about 1/4 of the code it used to be and it works much better (if you find something that doesn’t appear to be working correctly, let me know). I had a bit of a dig through twitter’s JS widget to see what regular expression(s) they were using (figured they should have a pretty good grasp on what works best). In addition to link, mentions and hashtags I’ve also added support for “stocktwits”, in the format $ABCD, these currently link through to stocktwits.com, but this might be “tweaked” if I’ve got time.

The Small

Knocked off a bunch of small things that I’ve been meaning to fix/add for a while.

  • Added refresh button to the header (same as Hahlo 3)
  • Added a back button which is only shown when running Hahlo4 in standalone mode on you iPhone
  • Fixed a few things I’d missed when updating the tweeting/messaging screens a couple of days ago, mainly the loading spinner doesn’t sit on top of the character counter anymore.
  • Updated oEmbed support to include support for flickr’s short urls (in the form http://flic.kr/p/ABCD, also added support for flickr videos (although they’re flash so obviously they will only work in desktop browsers)

0 comment

Update on beta invites

Friday, 14th August 2009Short URL

I will be sending out more beta invites this weekend, so if you want one I’d suggest signing up soon. I’ve also 90% decided on when Hahlo4 will be going live for everyone, and as a result the beta invites being sent out on the weekend will be the last that are going to be sent out prior to launch.

I’ll announce the launch date once I’ve double checked a few more things…

0 comment