Alex Bosworth's Weblog

developing search engine marketing software, living the expat life in beijing, other fun stuff.

previous projects: alchemy, swik, open source stuff, now adylitica.

Working with Javascript Worker Threads

When the Web Workers feature was announced for the good browsers (safari/chrome/firefox), it seemed to me like something fairly cool but mostly useless. How often do you really need to calculate a Fibonacci sequence in the browser, as Mozilla suggests?

Well I finally found a legit use for it in TweetBe.at, in calculating follow back percentages - which is a major new feature for the site.

Currently other Twitter apps show you a twitter users’ follow back percentage by comparing the total follower total to the total following total. But that ignores the fact that followers and followings may be completely different sets.

Enter Worker Threads. To calculate the intersection between hundreds of thousands of followers and following in id matrices, even Chrome on my Macbook Pro was having a tough time and stalling the UI. 

The Documentation for Web Workers is terrible, but it’s actually a straightforward feature, although unfortunately you must have a separate javascript file for your workers, something I feel is a mistake.

To show you how easy it is here is my main JS file code:

var intersections = new Worker('intersections.js');
  intersections.onmessage = function(event) {
  showIntersections(event.data);
};

OK and now the worker code

self.onmessage = function(event) {
  var results = findIntersections(event.data);
  return postMessage(results);
}

Easy as pie, and very useful in a pinch.

Comments (View)
Our Todo App has been doing great. 60,000+ iPhone downloads in our first week, from a simple problem that we wanted to solve for ourselves turning out to be a problem many people want a solution for.
The idea is that being too disciplined and organized saps zest, creativity and fun from life - but it pays to be at least a little organized. We wanted a Todo app that looks good, but is simple enough that you don’t feel overwhelmed. 
It sounds a little weird doing a productivity app that is more about having fun than being maximally productive, but can’t argue with downloads.

Our Todo App has been doing great. 60,000+ iPhone downloads in our first week, from a simple problem that we wanted to solve for ourselves turning out to be a problem many people want a solution for.

The idea is that being too disciplined and organized saps zest, creativity and fun from life - but it pays to be at least a little organized. We wanted a Todo app that looks good, but is simple enough that you don’t feel overwhelmed. 

It sounds a little weird doing a productivity app that is more about having fun than being maximally productive, but can’t argue with downloads.

Comments (View)

App Store Bad Karma

Having experienced getting Electron Zero through to the App Store was good, but now I can feel the other side of the equation - of the last 6 apps we submitted to Apple, 3 were approved - our awesome Beijing, Formula 1, and Stock Trading apps all got through!

You can search Adylitica on the app store to check them out btw.

Also if you want a free copy of one comment or email me (alexbosworth on the gmail)

It’s definitely kind of a bummer to put work into Apps and then Apple shuts you down - hopefully we can appeal and get two through, but for the World Cup one it’s too late.

Comments (View)
Comments (View)
Comments (View)

Learning to Love the iPad

I have to admit I’ve always been a bit skeptical of Apple product releases. The removal of the mouse button on the MacBook, the iPhone with a terrible camera and weird lockdown environment, and most recently the iPad. These and more are things that have made me view new product releases thinking that Steve Jobs has finally lost it and is going to release a giant dud, a useless product. 

But I’ve eventually changed my mind in all these circumstances and found that the compromises that appear as glaring drawbacks are in fact necessary steps to make leaps ahead in product design.

The iPad is one where it has taken me a little time to adjust to the leap forward. There are a lot of problems with the iPad. It has no camera, the sound is not the best, the resolution is fairly poor, pixel doubling is a joke, safari mobile is not at the desktop level, the battery replacement is $100, typing on it is a challenge, it’s locked down like the iPhone, it doesn’t have a way to deal with files between apps, it’s not the lightest, it’s a smudgy mess after a single use, you have to prop it up to use it, I could go on a long time.

But these problems miss the point. The point of the iPad is that it offers the same greatness of the iPhone, for times when you are a bit less on the move. It’s a new way to think about computing - if laptops are the portable evolution of the desktop computer, the iPad is the desktop evolution of the portable phone. 

The steps to loving an iPad are as follows:
- think about the hassle the experience of having a laptop in cafes and around the house or really is: power, heat, size, weight, internet connectivity are all significant issues.
- think, can you use your laptop while you are driving to someplace to find directions? Can you use it in the supermarket to remember what to buy? There are a ton of things only a truly from the ground up mobile device makes painless.
- get unlimited 3g for the iPad, stop worrying about wifi passwords and hotspots
- get apps that complement the iPad, not ports of iphone apps. Ex: crossword puzzles and scrabble, iBooks and kindle, air video to remote play videos over your network, epicurious and cookbooks, games made for iPad only. Spend money, the iPad market is too new for great freebies.
- forget about your battery life anxiety. 10% = at least 1 hour, an overnight charge lasts the whole day easily.
- get Apple’s black iPad case that can prop up the iPad if you are typing or want it to stand up by itself.
- get the biggest storage available so you don’t have to think about it
- rethink the tasks you do, reorganize the way you work to fit your mobile friendly tasks into time that you are mobile.

It’s a huge shift, no doubt, and somewhat worrying considering the stranglehold monopoly Apple seems to have now on the future of computing, but ignore the iPad at your loss.    

Comments (View)

Spanking new CSS3 interface!

Spanking new CSS3 interface!

How trends are gathered

How trends are gathered

I just pushed an overhaul of tweetbe.at buzzlists, which is a project I’ve been working on: trending topics for specific domains.

The idea is to show trending topics from experts in various fields. From wine aficionados to forex traders - buzzlists distills their trends: a miniaturized, scoped and more relevant version of the twitter trending topics.

I now have lists for a large variety of topics, which work to varying degrees. One issue I’ve been working through is that my sets of topic experts are not always posting enough to make any trends. I’ve now added an invitation to readers to help with the list of experts, which is managed through twitter lists.

I’ve started running the service against more lists now:

Calculating these trends can be computationally non-trivial and I hand pick the domain experts, so I have be slow to add domains - but my hope is to grow the list by an order of magnitude and even potentially allow any tweetbe.at user to create their own trends page for their own custom list of people.

Comments (View)
I’ve become a big fan of notifo recently - which is essentially an iPhone app that serves as a central ‘ping’ location for developers to send notifications without resorting to email.
It’s kind of similar to Amazon’s new Simple Notifications Service - but so far to me a lot more practically useful, and certainly a much better API
I made a small service for notifo called ‘Converto’ - basically whenever you get a ‘conversion’ via a link, you can be notified on your iPhone. Currently I use this service whenever someone starts using tweetbe.at, I get a ping on my iPhone.
Notifo is also very useful to me for letting me know when someone mentions @alexbosworth on Twitter, or when someone responds to my comment on hackernews

I’ve become a big fan of notifo recently - which is essentially an iPhone app that serves as a central ‘ping’ location for developers to send notifications without resorting to email.

It’s kind of similar to Amazon’s new Simple Notifications Service - but so far to me a lot more practically useful, and certainly a much better API

I made a small service for notifo called ‘Converto’ - basically whenever you get a ‘conversion’ via a link, you can be notified on your iPhone. Currently I use this service whenever someone starts using tweetbe.at, I get a ping on my iPhone.

Notifo is also very useful to me for letting me know when someone mentions @alexbosworth on Twitter, or when someone responds to my comment on hackernews

Comments (View)
A new project, no Foolin’!
After Twitter implemented lists, I rewrote tweetbe.at to support their new feature, which I heartily appreciate: even though their lists had the same functionality as tweetbe.at, it was always very difficult to put together lists given the API feeds they supplied.
I’ve been using tweetbe.at to put together a bunch of lists of people on Twitter, altogether I’m up to 17 lists total
Now that I have so many lists though, I need a way to summarize what a list is talking about today. Twitter has a trends service for certain locales - but not Beijing, and not for my list of stock traders.
The new project I’ve been working on adds this functionality: you can see what is currently trending in a list of people. Currently it’s at the prototype stage, I’m trying to get it perfect - http://tweetbe.at/trading/ is all the traders I could find who are tweeting like crazy about stocks and market news.
I’ll add more of these lists as I tune the trending algorithms, which have proven to be a little tricky to get right.

A new project, no Foolin’!

After Twitter implemented lists, I rewrote tweetbe.at to support their new feature, which I heartily appreciate: even though their lists had the same functionality as tweetbe.at, it was always very difficult to put together lists given the API feeds they supplied.

I’ve been using tweetbe.at to put together a bunch of lists of people on Twitter, altogether I’m up to 17 lists total

Now that I have so many lists though, I need a way to summarize what a list is talking about today. Twitter has a trends service for certain locales - but not Beijing, and not for my list of stock traders.

The new project I’ve been working on adds this functionality: you can see what is currently trending in a list of people. Currently it’s at the prototype stage, I’m trying to get it perfect - http://tweetbe.at/trading/ is all the traders I could find who are tweeting like crazy about stocks and market news.

I’ll add more of these lists as I tune the trending algorithms, which have proven to be a little tricky to get right.

Comments (View)
iPhone App’in ain’t easy!
We have had good success with our Electron Zero www.greatappaday.com event we ran yesterday - 6500 downloads and big movement in the ranks, which you can see pictured.
This is a screenshot from App Annie, which is an awesome new service for iPhone developers that tracks your iPhone app sales with graphs and charts and stuff.

iPhone App’in ain’t easy!

We have had good success with our Electron Zero www.greatappaday.com event we ran yesterday - 6500 downloads and big movement in the ranks, which you can see pictured.

This is a screenshot from App Annie, which is an awesome new service for iPhone developers that tracks your iPhone app sales with graphs and charts and stuff.

Comments (View)