Archive for category The Wonderful Internet

Wellington – Real Time Public Transport Information

WelliBUS users have been asking me for real time bus info ever since WelliBUS was first released a long time ago.

I have been in touch with the Metlink people (who are just awesome) but sadly the information will not be available any time soon, and even when it will become available 3rd parties will probably have to wait even longer (unless they decide to start scraping HTML).

So after doing some thinking I have decided to try and implement it myself. Yup, I am indeed crazy. The craziest part is that I believe that this could work, especially if you get involved. At the moment 4000 of you are using WelliBUS and I would like to thank each and every one of you. Most of you are using iPhones, the rest are on iPod touches and Android devices. Although this is intended mostly for iPhone users there are scenarios when even an iPod touch can be used (WiFi on the bus, Free Wifi Hotspots, etc).

If out of 4000 people just 2000 decide to use this system I am sure we will get pretty good coverage, especially at peak times when we need it the most.

I have already starting implementing this which is why I am asking for everyone’s help. Please post comments below to tell me what you think, what I should and should not do, what you think is most important in the first release, what I missed out on, whatever you think might be useful. Once you’ve done this please spread the word. Don’t forget to download WelliBUS if you have an iPhone, iPod touch or Android device.

Here’s how I was thinking that it would work.

User waiting for the bus:

  • Starts the app and selects the bus stop number they are at and also the service numbers that they want a notification for.  (e.g. Stop 5002 – St James Theatre, Services 1 – Island Bay, 46 – Broadmeadows, 54 – Churton Park)
  • Either leaves the application running (at least in the 1st release) or closes the application and waits for a push notification (future release)

User traveling on the bus:

  • After getting on the bus the user selects the service that they are on and taps “I’m on the Bus“. (e.g. select stop 5000 – Courtenay Place, Service 54 – Churton Park)
  • User leaves the application running and can alternatively see on a Google Map view as the bus travels towards its destination
  • User sees a Good Citizen points indicator. See how the points work below.

WelliBUS will:

  • Notify the user in stop 5002 that a service 54 – Churton Park is on its way and reports the approximate distance between the stops
  • Reward the user on the bus 1 Good Citizen point for having helped another traveller find out when the bus was coming. The more people use the information broadcast by the user on the bus the more Good Citizen points the users get. All users that broadcast their location on the bus will get “rewarded”
  • Provide a Good Citizen ranking system (users can register and submit their points to our server)

Good Citizen points:

  • A user that leaves the application running while on the bus (between start and stop) will accrue 0.5 points for each stop they pass by
  • If at least another user is on the same bus and broadcasts the information then all users receive another 0,5 points
  • For each user that is notified about the bus that the Good Citizen is on then another point is awarded.
  • Sponsors can reward Good Citizens: e.g. maybe Snapper can give them extra credit, maybe Metlink could discount a monthly pass as long as a minimum number of points is accrued the previous month. Other sponsors can be as creative as they want. The rewards should be provided in exchange for Citizen Points. The claimed points will go towards a Sponsors Ranking. (e.g. If my favourite coffee shop in Wellington, Mojo Old Bank give a free coffee for every 200 Citizen Points then their points value will go up by 200 every time they offer a reward. This is a rough guide at the moment)

Cheating:

  • If a person is in a car rather than on a bus then the application will detect the car speed, missing the stops, and other similar checks
  • If somebody does manage to fool the “system” the other people will be able to veto them. e.g. if user A reports being on a bus that never reaches user B although it should then user B will be able to give thumbs down to user A. The more thumbs down the slower the user accrues Citizen points. Eventually a lying user can be removed from the system.
  • Other “punishments” could be applied. Be creative!

You can:

  • Donate. You can help the development of this feature by contributing with funds.

  • Spread the word! Nothing is more helpful.
  • Twit about this. Here’s an example Help Wellington get Real Time Public Transport information. http://bit.ly/9pq2v3 Please RT
  • Post a link to this post on your Facebook wall. For example you could post Make Wellington the first city in the world with real time traffic info driven by us. Details here http://bit.ly/9pq2v3
  • You could sponsor this project. There are many ways in which you can help. First email office [at] tmro [dot] net and we will take it from there.
  • You could buy ads in WelliBUS. Your business logo and a 1 sentence message could be displayed on the Map View close to a relevant stop.
  • You could help in ways I haven’t even thought about.

Cheers…

, , ,

8 Comments

Reviewing a MyFreeview|HD DVR

After Mauricio (the Geekzone BDFL) asked me to review the JCMatthew DVR-320T I wasn’t sure what to expect. Now I can honestly say that I am happy to do this. I will try to be as impartial as possible and provide the readers with a no-nonsense review. My tone will be as non-technical as possible and I will strive to explain the slang as clearly as I can.

So I’ve started this reviewing journey that you can follow here. I will not be cc-ing my review to this blog but I will be taking questions via this post if there are any.

So feel free to drop me a line if you feel like it.

Cheers…

, , ,

2 Comments

WelliBUS is out

Overview
On Thursday 17th of September Apple approved WelliBUS. Now the people in Wellington, NZ have a new option when it comes to finding out when their bus comes:
- use www.metlink.org.nz
- txtBUS 287 (20c / msg)
- 0800 801 700 (free)
- WelliBUS (free, needs an active internet connection)

A quick look at txtBUS will show you what a neat service it is. Type the stop number (optionally the service number and time), send yr msg to BUS (287) and there you go. But what happens when you don’t know that stop number? Or what if you forget the txt syntax? You can browse the metlink website or you can call their 0800 number. Alas neither option is convenient. This is where WelliBUS excels!

With WelliBUS you can do everything that you can do with txtBUS but you can also find out the bus stop number by searching by a street name or by simply tapping a GPS button that will do the hard work for you. Then you’ll be returned a list of nearby stops. Just tap one and you’re done! WelliBUS let’s you filter by date or service number just as you’d expect it to.

Launch
WelliBUS has been out there for only a few days now and I have to say I am impressed by the feedback I’ve received. Thank you everyone.
I don’t know if it is because it’s free or because Wellingtonians love their iPhones or because they use public transportation a lot.

I know many of you are asking about real time bus information, it’s coming but you have to be patient, from what I’ve heard you won’t have to wait much longer… At this point treat this as a rumor.

I hear a few of you have found some issues, please post them here as comments and I will prioritize them and tackle them as soon as I can. I know there is a typo and I know that if you filter by buses using 00 prefixes the app fails to filter. So if you search for service 008 please use just 8 instead.

If you want a copy, the app is here WelliBUS

Rest assured the app will stay free, ad-free, bloatware free. But if you like it I encourage you to download one of my paid apps from here: tmro apps.

Cheers…

p.s. My close friends know the funny story of how this application was conceived, but this is neither the place nor the time to share that story…

p.p.s. please leave your comments and feature requests as comments below.

, ,

3 Comments

New Site

Recently I have decided to put together a new website. I never really enjoyed putting together a website for myself. Somehow I always feel more inspired when I have to develop / assemble a website for someone else.

For this reason I decided to keep things simple so I embraced a WordPress template. After quite some time of using blogger (blogspot) I thought all blogging engines were the same. I was wrong. WordPress simply is better: nicer UI, more plugins, upload directory, editable database, and more. The New Post editor seems a little buggy (HTML tags seem to get lost when switching between WYSIWYG and HTML) but that’s a small price to pay considering the multimedia support and the plethora of configuration options.

I haven’t finished migrating everything yet, and I am still customizing the template but now you should be able to get a rough idea of what the website will look like. So please don’t hesitate to post/email your comments and feedback.

Cheers…

,

No Comments

The Java Store – Project Vector

So Jonathan Schwartz’s blog is alive again. This time we get to learn about the new Java Store. 
Here are the facts (extracted from the Jonathan’s blog):
Project Vector: 
“[...] is a network service to connect companies of all sizes and types to the roughly one billion Java users all over the world. Vector (which we’ll likely rename the Java Store), has the potential to deliver the world’s largest audience to developers and businesses leveraging Java and JavaFX.”
How will it work:
“Candidate applications will be submitted via a simple web site, evaluated by Sun for safety and content, then presented under free or fee terms to the broad Java audience via our update mechanism. Over time, developers will bid for position on our storefront, and the relationships won’t be exclusive (as they have been for search). As with other app stores, Sun will charge for distribution – but unlike other app stores, whose audiences are tiny, measured in the millions or tens of millions, ours will have what we estimate to be approximately a billion users. That’s clearly a lot of traffic, and will position the Java App Store as having just about the world’s largest audience.”
More details:
“For details on how Vector will work, when it’ll be available, how to submit your content or application – alongside insights into Project Vector’s technology, roadmap, features and business model, come see us at JavaOne…”
And here are my biased comments:
1. The Java Store will annoy developers: if the storefront is taken by the developers that pay the big bucks rather than the developers that write awesome apps then this Java Store will be one store I won’t develop for.
2. If deploying the apps will require Netbeans (why do I sense that it will?) then this will annoy even more developers. Unlike Microsoft or Apple’s environments (where you know form the beginning that you kind of have to use their tools since the whole environment is closed) the Java environment is supposed to be open. Forcing Netbeans down the throats of thousands of developers would be a mistake as it will alienate them…
3. Windows only: Jonathan is talking about an audience of billions. I wonder how many of those though sport a recent version of the java runtime. Just consider the countless computers which still run java 1.4, all the Macs and the *nix systems out there. 
What do you think?
Cheers…

,

3 Comments

Special App Stores

Today I was having a conversation about the Apple App Store App Review process and I realized that I don't really mind a little bit of censorship but with a twist…

Let me explain:
1. The Junk Store
Not all apps should make it to the store. I honestly think that if an app does not really do anything then it probably should not be allowed in the store. Say an app says: "I'm rich!". Is it really an app? Owning a Porsche would achieve the same result (telling people I'm rich) and it would also help the German economy… 
Now the question is what does one do with this app though? Somebody wrote it, and they want it to be available to all the people who find it useful. I vote for the creating of another App Store called "The Junk Store". Really, so many apps could go in there. Just imagine: you write an app and you immediately get access to the Junk Store: you can upload apps, updates, etc. In the Junk Store all apps are equal, they need no review process, they come with no warranty and they make no promises that they won't break your phone or eat your battery alive. Users only need to point to the Junk Store and then a jungle awaits them in there. Knock yourselves out people, download and try stuff at your own risk!
2. The Awesome People Store
Now there are some people (see these ones) who have hundreds of applications in the app store. They just clutter the gorram store! Now I vote for creating "The Awesome People Store". In this store developers "move" the apps that they consider to be the least likely to generate revenue for them. Think of it as the Archive Store… apps go to the App Store and after a while, when they fall in disgrace and people seldom download them they get moved to the Awesome People Store. Accessing this store can be done either via the main store or directly… Apps here are not guaranteed to work on the latest iPhone OS version either which a bonus.  
3. The Enterprise Store
Now this is maybe a bit too serious for this post. I believe there is a need for an Enterprise Store because there are just too many enterprise-ish applications that don't really belong in the public App Store. Say your company has 200 employees. You cannot really get an Enterprise license and you have to put your app(s) in the bloody store. There they will be public and people might end up downloading them for no reason: waste of bandwidth and time plus a bonus of frustration for some of us… Another reason for this Enterprise Store is that currently it is very hard to build a product (iPhone app) that can be sold and resold to enterprises with a little bit of specific branding on it. You either have to make some sort of activation screen or you need to issue a new app for each of your customers (this means going through approvals and such that are time wasting and annoying).
An Enterprise Store will solve this issue: you create a Product, you sell it to your first customer (enterprise) and the app goes through the usual process. After that you "notify" Apple that you've released a new app (with just a different branding, service endpoint, function configuration etc) and you just move along…
What would all these new rules achieve is a less cluttered, more value adding App Store. I am keen to hear what you people think so feel free to post your comments below…
Cheers…
p.s. what "stores" would you like to see?

, ,

No Comments

Google Apps For Your Domain. Problems after Hostname change

I have my domain managed by Google Apps. Yesterday I created a new site using Google Sites and decided to have a nice hostname, say http://mynewsite.tmro.net

Said and done. I went to the control panel and defined the new URL. I saved it and it later started working as expected.
The problem I did not expect was that this was going to break all the other URLs I had previously defined. Basically mail.tmro, docs.tmro, calendar.tmro etc were all gone. No trace of them in my HOST RECORDS when logging into enom’s Domain Settings control panel.
Now I had two options:
1. set them up manually (last resort :P )
2. sort out Google Apps.
So I went back to my Google Apps Control Panel and switched back to default mail, docs, calendar etc and then saved the settings. After that I redefined the URLs to mail.tmro, docs.tmro etc and checked my HOST RECORDS again. This time around the settings were back!
So if you run into a similar issue, don’t panic! Just redefine the URLs. Painful but at least it works.
Cheers…
p.s. the mynewsite.tmro.net still works after redefining the other URLs so it’s all good

UPDATE: It appears that the email MX records were messed up as well! Luckily after updating the MX records I received quite a few emails that had been queued so I imagine nothing got lost…

No Comments

iPhone Enterprise Application Distribution

This is by no means official. After lots of (repeated) googling I managed to gather this information. Feel free to add your Q & A or make corrections.

I focus on Enterprise App distribution here but please leave your comments regarding the other means if you want…
1. What distribution mechanisms are available?
App Store, Ad-Hoc and Enterprise.
2. How does one become an Enterprise App distributor?
Enroll at http://developer.apple.com/iphone/program/apply.html Notice that you cannot sell your apps in the App Store and develop for an Enterprise at the same time!
3. Who can an Enterprise App be given to?
You can only install the application on devices belonging to you employees. You CANNOT give the application to contractors, affiliates, etc.
4. What companies qualify as Enterprises?
Your company MUST have at least 500 full time employees. Read more here: http://www.dnb.com/US/duns_update/
5. How many users can I distribute an Enterprise App to?
As many as you want. 
6. How do I distribute the application to my enterprise users?
The distribution is based on provisioning profiles, just like Ad Hoc distribution…
7.  What are the differences between Ad Hoc and Enterprise distribution models?
Firstly in the Ad Hoc model you need the device identifiers to create the provisioning profile and secondly you can only have up to 100 users. For the Enterprise model you need to prove your company has at least 500 employees but you don't have the other limitations.
Cheers…
p.s. if I am wrong with anything please do let me know..

No Comments

Apache with OpenSSL on Windows 2003

The other day one of our SSL certificates expired. Luckily we had the replacement ready and upgrading should have been a simple, straightforward process.
Now, the part I didn't know is that Verisign had changed their intermediate certs and they were no longer signing our cert with their root cert.

Well that shouldn't be so hard to fix though since Apache (mod_ssl) has a directive for intermediate (aka chain) certificates called SSLCertificateChainFile. I just pointed it to what I thought was the correct intermediate cert, restarted Apache, pointed Firefox to the url and tada, all good. I got this intermediate cert by simply exporting from the chain of certificates you see when double clicking on your own cert and browsing to the certificate path. What a mistake this will prove to be…

But wait, when I browsed with Safari I got a nasty "this certificate was signed by an unknown authority" error message. On my iPhone same thing, the cert failed. Tried IE7, no issues. Hmm… something was wrong. So I inspected the certificate chain and I discovered that at least in Safari my ssl cert looked as if the roor cert was VeriSign Class 3 Secure Server CA rather than Class 3 Public Primary Certification Authority (which is also Verisign,Inc and has the serial number 70 BA E4 1D 10 D9 29 34 B6 38 CA 7B 03 CC BA BF).

After googling I came across an article (don't click the link) that explains how to add an intermediate cert to Microsoft's list of trusted certificates using Microsoft Management Console and lots of fiddling. Turns out I didn't really need to do that. (told you not to click the link :) )

At this point it was clear that the intermediate cert was somehow now available to all the clients. So what seemed like a logical thing to do was to see what that intermediate cert reeally looks like. Luckily there is this ssl cert checker from VeriSign. To my surprise when using it the intermediate cert was not really what I exported above. So I copied the code for the new intermediate cert and replaced the one I exported and gave it a go!

Hooray! Everything now worked.

Now what have I learned?
1. Never trust a browser to test an ssl cert. Either use openssl s_server or the applet above that verisign have built
2. Avoid Windows as a host OS for web servers. (lack of openssl, confising trusted root certificate management, etc)
3. The new cert was almost double the size of the first one. Looks like the versign intermediate cert is bundled with my cert as well. Maybe someone can clarify this?
4. Let infrastructure people handle ssl cert installation

Cheers…

No Comments

Windows file paths on *nix systems

Yesterday I amused myself when I re-discovered that I had to deploy a web application that was pointing to external files using windows style absolute paths rather than relative paths.

Imagine this scenario:
1. You are running a *nix system. Mac OS, Linux (Ubuntu) etc
2. You have an existing web application that references some sort of external resource (e.g. logging configuration file), but the path to this resource is windows style. e.g. C:/logging/config.xml
3. This web application used to run just fine on a server running on Windows (e.g. JBoss) but now that you have deployed it to your new OS the path no longer makes sense…

You have three choices:
1. bitch at those who used absolute paths in the web application and ask them to fix it.
2. change the web application to reference some sort of relative path
3. WOW: create a c: folder in your JBoss bin folder.

I kid you not! This is actually possible… funny as hell, but still possible.

If you are on Mac OS, the trick is to create the c: folder from the Terminal rather than Finder. Finder will not allow ":" in the name of a folder. So fire up terminal, cd to the JBoss/bin folder and run :

>mkdir c:

Now copy into this folder the resources that you need. e.g. logging/config.xml and you are ready to go.

Let me know if this worked on your OS.

Cheers…  

,

No Comments