Group Messaging needs to grow up.

I recently developed the need for a real time group messaging system that allows the members to subscribe to topics and tags. Posting messages in such topics or including such tags would then result in a push notification to the subscribers mobile devices.
The admin of the group could create a taxonomy for the groups context, and members could contribute to the taxonomy, based on an approval system.
This allows for subscribers to carefully decide themselves what messages they want to receive, instead of somebody else deciding for them that they are interested in.

You see, because I hang out with a loosely organised group of artists, freelancers and randomly creative individuals, we need a tool to be able to mobilize each other, but only the people interested in the joint venture at that moment. So we want to create a list of topics/tags and locations to subscribe to. We want to keep informed of only what we subscribed to. The group is just too large to blindly spam everybody with every message.
And since we are often in the pre-organising fase, we simply want to be able to tweet a message including one of these tags to elicit interest and motivation to those possibly wanting to cooperate.
Not only that, sometimes we simply want to mobilize a group of individuals to meet at a certain location. Last minute spontaneous action.

Well, after doing some research I found some great and promising startups in the group messaging industry, as that industry is taking off like storm.
I really like the irc-like Convore, and posted my feature request there, but no answer yet. Too bad none of the tools I looked at (Beluga, GroupMe, Kik) offer what we need. Sure, there are some forum-like tools that send you an email when somebody posts in a thread, but none of these tools allows for subscribing to a taxonomy. Please correct me if I’m wrong.
I think most of these tools are truly helpful after the fact of organising structures. When all the roles are defined, the players are known, and from there it’s just a matter of communication and collaboration.
Not what we need.

So, because I am a programmer, and therefor lazy by nature, I want to appeal to the group messaging industry first. By asking them to incorporate such a mechanism in their platform, so I don’t have to build it myself.

Anybody?

PAS OP: NavAudio zijn criminelen die je geld niet teruggeven.

Ik ben niet de enige die gedupeerd werd door de firma NavAudio.

Had ik maar goed onderzoek gedaan naar de (blijkbaar altijd slechte) service van NavAudio, er zijn genoeg posts:

Dynavin voor BMW E39 bijna net zo slecht als de firma NavAudio die hem levert.

Ok, ik vond dat mijn BMW E39 uit 2000 wel een onboard GPS systeem moest hebben, en dan het liefst met geintegreerde iphone aansluiting etc. Ik had wat forums afgestruind, om te stuitten op de enige twee betaalbare alternatieven: de Dynavin of de Hualingan. Beide zijn chinese lookalikes van de originele BMW unit met video touchscreen. Helaas had ik blijkbaar niet goed genoeg gezocht naar problemen met die units, terwijl ik meer dan genoeg lovende verhalen aantrof. Ik ga nu niet helemaal in op de voor en nadelen, want eigenlijk zijn ze die aandacht niet waard vind ik nu.
Maar goed, ik had mijn Dynavin besteld bij de firma NavAudio, kreeg mijn unit opgestuurd, en vond helaas de volgende problemen bij  het in gebruik nemen:

  • iPhone (zowel 3GS als 4) aansluiting werkte gewoon niet. Deze werd wel gedetecteerd, maar was niet te bedienen en gaf geen geluid. Ik had alle (overigens zeer simpele) kabelaansluitingen gecontroleerd, en moest concluderen dat deze iPhones niet ondersteund werden.
  • Bluetooth verbinding om handsfree te bellen was zeer slecht. Ik moest het geluid helemaal op de maximum stand 40 zetten, en de auto aan de kant, om iemand net te kunnen verstaan.
  • Geluid van de radio was veel te hard uitgestuurd. Op stand 10 was dit al oorverdovend hard.
  • Geluid van de subsystemen waren niet goed op elkaar afgesteld: stel je praat met iemand op volumestand 40, je hangt op, en vervolgens knallen je boxen kapot omdat het systeem terugspringt naar radio met volumestand 40 !!

Ik was duidelijk niet tevreden en stuurde het product terug binnen de 7 dagen zichtgarantie (volgens de wet Koop of Afstand), met duidelijke feedback waarom, en kreeg ik de volgende reactie:

“Helaas, maar er komen wel diverse updates voor.”

Alsof ik daar op moet wachten na voor bijna 700 euro te hebben neergelegd. Nee, dank je wel zei ik, en vroeg mijn geld terug. Maar dat zou ik na 30 dagen terug krijgen. Allemaal volgens de wet. Prima.

Maar na 5 weken had ik nog steeds mijn geld niet terug, en ging ik er achteraan bellen. Ondertussen had de firma NavAudio ook nog eens een nieuwe verpakte unit op mijn adres laten afleveren. Toen begon bij mij al het vermoeden dat deze firma niet graag geld teruggeeft aan zijn gedupeerde klanten. En ja hoor, ze wisten van niets en zeiden niets ontvangen te hebben. Ze wisten nota bene ook niet eens dat ze een nieuw pakket hadden opgestuurd!? Ik moest maar bewijzen dat ik iets had teruggestuurd, en daarmee was voor hen de kous af.
Gelukkig had ik natuurlijk nog het verzendbewijs van de TNT post, en kon ik laten zien dat het eerste pakketje op tijd was ontvangen door hen.

Maar toen kreeg ik ook nog eens te horen dat ze 5% van de aanschafprijs in zouden houden, terwijl dit volgens de wet verboden is. De wet Koop op Afstand zegt dat een consument binnen 7 dagen het product mag terugsturen met volledige restitutie van het aankoopbedrag, en zonder opgaaf van reden. Daar bovenop leverde het geleverde product niet wat er beloofd werd, en heb ik daarom ook recht op alle in rekening gebrachte, en door mij gemaakte verzendkosten.

Uiteindelijk ben ik dus gedupeerd voor 5% plus 3 maal verzendkosten, want de firma NavAudio weigerde gewoonweg te betalen. Ik zal jullie niet letterlijk al hun email reacties oplepelen, maar ik kan wel zeggen dat ze niet zo fris waren, en duidelijk naar voren kwam dat ik te maken had met onbetrouwbare figuren met geen gevoel voor eerlijk zakendoen. De firma NavAudio deed gewoonweg denken aan een stel kampers die je een kapotte auto verkopen. Alleen wordt dat niet duidelijk middels een internet aankoop. Ik heb gelukkig nog nooit ergens voor betaald en het niet gekregen, maar ik moet blijkbaar toch een betere neus kweken voor dit soort stinkende zaakjes.

Nu kan me die 55,35 euro gestolen worden, want ik vind het veel belangrijker om een toekomstige geinteresseerde te behoeden om ooit maar iets te kopen van de firma NavAudio. En al helemaal niet zo’n slecht product als deze Dynavin!
Toch vind ik ook dat het recht zijn loop moet hebben, en heb ik besloten contact op te nemen met mijn advocaat om een zaak aan te spannen tegen de firma NavAudio. Natuurlijk heb ik alle bewijzen om deze zaak te winnen, en ook dat laatste beetje geld terug te krijgen. En tegelijkertijd doet het me stiekem een genoegen om die sujetten op hun nummer te zetten.

Wordt vervolgd.

SimpleHelix won’t refund my money

Last week I talked to SimpleHelix support (who were very responsive btw) over their live chat app, to get some definitive info over their “semi VPS” hosting deal for Magento.

So we talked through a lot, and I went with the deal they had: 50% off for the first year if paid upfront. I paid about $425,- with paypal. But once I had server access I found out that they don’t offer in-memory caching on the semi VPS, which I definately need for Magento. Upgrading to a full VPS was too costly ($75 vs $160 p/m), plus it would also still lack the in-memory caching, so I decided to stick with my NL based host (IZI Services, very nice company btw).

That’s when I asked for my money back, since they offer a 30 day money back guarantee. But guess what, they simply said no! Because I paid with paypal!? What? Why? Where should I have read that? And why wasn’t that communicated to me before?

Can you believe that? In this day and age? Take money for a service which does not meet your needs? Man, I thought customer was king in the US, but I guess they need mouths to feed overthere now :p

I asked them a couple of times to help me out, because they couldn’t deliver what I need, but to no avail. I finally had to create a dispute with paypal, which is currently waiting for a settlement.

My advice: Don’t bother with SimpleHelix if you need a decent Magento setup.

Magento’s dataHasChangedFor(isDirty)

I just built 4 hours of code on top of isDirty, when I noticed it isn’t even working! I wanted to test if something has changed in the ‘customer_save_before’ event, so I could do something first. But Magento seems to simply not care if an object’s main properties or relations are dirty. It just saves whole object trees, wether something changed or not. AAAAAARGH! Yet another performance penalty, straight from the hip.

Isn’t it basic stuff to have your value container flag properties and itself as dirty? Magento started on isDirty and flagDirty, but didn’t pull through and left it unfinished. Instead they implemented a dummed down method called “hasDataChangedFor”, which doesn’t allow for testing if the object itself is dirty or not (because one of its properties is). I notice that it’s sparsely used, but not for testing whole objects before they’re saved.

Now I have to create an unnecessary bloated mechanism that goes through each property in getData, and see if it is found in oldData, and then test if it’s changed with hasDataChangedFor. AAW!

I hope the Varien guys pick up on this and start using the dirty pattern, because it’s simply too much to carelessly save whole object trees and make costly database queries when it’s not even needed.

Maybe I am too much of an angry guy right now, instead of a quiet and thorough investigator, so I might have overlooked something here. I hope so. Please tell me if I’m wrong 🙂

UPDATE: it’s even worse than I thought, because in both customer_address_save_before/after, _origData is not populated, so I have no clue wether something about the object has changed or not. Bummer! Does that mean that I have to load up the old objects from the database first? So much overhead, I am getting more even depressed.

Magento rocks!

I had to find the right solution for our online Chronos Coffee store, and preferred to find a SaaS (Software as a Service) application which would be flexible enough and also affordable. I looked at all the big players and also the smaller ones offering shared solutions, but none of them were flexible enough for what I envisioned: A scalable, controllable application with a plugin architecture to custom fit our needs. So I decided I’d give Magento a try again. I had fiddled around with it a year ago, but decided it was too infantile to be used in a production environment (and a web store always is). After having done in depth research, I now think it is actually very mature. It has a very large community and is widely deployed all over the net. Whats was even more interesting to me is the fact that it is built on top of Zend Framework, which I specialize in and am an advocate of.
So I arranged for a private virtual server to get it up and running, and must say I am really impressed. Compared to other web solutions out there, I find my install of Magento to be very snappy and responsive. The backend is rather sluggish, but that’s not such a big deal.
I have put the website online already, because we want to get out of the sandbox Google has put us in, and get a search rank asap. Don’t look at the design tho, because we have used a standard template, and still have to create product images. Here’s a link:

www.chronoscoffee.com

Chronos Coffee

When we came back from our 3 month cycling journey, I wanted to get some action. I met up with my longtime American friend Bryan who decided to start up an online coffee business that would dominate all the others online. He was aware that there are a lot of coffee stores and roasters online, but had a few tricks up his sleeve to truly accomplish that. He needed my skills and elephant skin to team up with. So I joined up as CTO, knowing I could make the technical side of it work the way it should. That was the start of my new professional career. Not only being a small part of the enterprise puzzle, but empowering myself to handle all aspects of the online retail game.
We didn’t have a name yet, so I thought up “Chronos”. I think it sounds nice and makes people associate with the God of Time, a wise figure to feel comforted by. It also allows for all kinds of catchy marketing lines, like: “Chronos. We make the coffee. You make the time.”
I am having a lot of fun at this already, but it’s costing almost all of my free time. Let’s hope I still get to travel 🙂

Barcelona policía es corrupta

Maybe not all, but certainly a lot of them.  This is my story of arriving in Barcelona on our recumbents.

After driving down the Gran Via towards the Plaza Catalunya, I had to wait for a red traffic light. I was checking Google maps on my iPhone and turned the screen off when the light turned green. I rode on my recumbent, behind another car, through the green light. That’s when I got stopped by a police officer. He wanted to give me fine for using a mobile phone while riding my bike. Which I obviously didn’t, so I got frustrated. I asked the man to produce this law that stated I couldn’t ride my bike with my phone in my hand. He kept stating this was the law and that I had to find out myself. If I wouldn’t pay the fine of 50,- they would take my bike. I decided not to fight this castle and asked where I could find a money machine. In the mean time a fellow officer arrived from across the street, noting me being upset, and telling me he saw me going through a red light and calling on the phone while riding! Two lies! Right there, next to his colleague, he pressed two extra charges based on lies. I got really frustrated about that and ranted to him about him lying two times in one sentence and that he must be corrupt. I also wrote down his badge number and asked for a police station to get proper help. I was then pressed again to get the money, or they would take my bike (I was later told by the top police people that any police officer can do as he pleases and that it is wise for me to stay low. Only afterwards can you complain about decisions made and hope to get rectification.)
So I went and got exactly 50,- out of the machine, since Corine and I have a split pot for everything, and I didn’t need more. But when I came back to hand over the money they said I also got an extra fine for going throught the red light! Another 50,- was charged, so I had to go back to the cash machine! I asked them if it would end at 100,- when I would return, because I did not trust them at all. But while walking to the cash machine I decided to walk to that police station to get help instead. I was later called by Corine that she had arrived at the scene (she had to get the keys for our appartement while I was in this situation), and that a tow truck had arrived and was uploading my bicycle. In the meantime I did my story at the police station, and was told that there was nothing they could do (ofcourse), even though the procedure was all wrong (which was all admitted to by the top police men):

  • It was wrong to charge me 50,- initially, and later add charges;
  • They also took all my luggage on the bicycle, which they were not allowed to do;
  • My passport was not given back, even though I am not allowed to walk the streets without it.

Then the two-faced chief officer that was in charge of the brigade that confiscated my bike came in to bring back my luggage and passport. They were all sorry about the failures, but didn’t help either. I was told to pay 164,- at their storage facility to get my bicycle back. Pfff….

My logical deduction of all this:

If a colleague is handing out a ticket, and a fellow officer is trying to help him (or f*ck with me some more), by bringing in false charges, and all this is done under the assumption that the ticket writing officer is actually agreeing with that (and thus also corrupt), then I assume it is in the nature of these police officers to bring in false charges more often, and that this is done in all of their team. They might of course be just “the two” corrupt ones, but I doubt that.
Also, the two-faced chief in charge of these cops, must also be aware of all this (Corine was contacted on the street by a guy who said this happened to him recently, having to pay for fake charges, and showed her the fine). Not only this chief officer had such false eyes, but also the guy he was with (and the lying officer too, doh!). I immediately felt as if this had been going on for a while, but nobody is there to put a stop to it. Corine wants to write an article and take it to the papers here. It probable wont move any of these rocks a bit, but hey, we’re in it for justice’ sake.

Hell, lets put in an extra link to all this translated to Spanish, just for Google’s sake: this page translated in Spanish

Hasta luego senor Fab

That is an actual songtitle (look it up), which is in line with my current state: traveling in Spain. Yes, me and Corine are at it again: three months on our recumbents to get from Malaga (most southward spot we could fly to) back to NL. We are currently close to Barcelona after 5 weeks of cycling. But I will save you the boring details. I am putting up photos and videos as always on my flickr page here, and Corine is blogging in Dutch (tnx so much dear) right here.

For those who really want to know when I’ll be back: the 13th of august if all goes well. But 2 weeks later I will already be flying to Las Vegas to attend the Burning Man festival ;p So I will eventually return to NL the 18th of september. Life is sweet 🙂

MacDrama

It was around 11am a coupla weeks ago, and I was happily coding away on my 3 yr old Dell XPS 1710 running Ubuntu 8.10 (and it was running fine too), when it suddenly gave in to some cosmic dust. Or whatever else that made it go bust. I was not too pleased ofcourse, and had to get myself another laptop asap to get back in business (and keep the company that hired me happy). So I went online to get a good deal, but couldn’t resist that voice in my head that said: “its time to get that Mac now boy”. And so I did, I fell for the powers of the dark side and got myself a brandnew MacBook pro. Hoping to find comfort. Which I did find, but lost pretty soon afterwards.

See, I was happily installing and configuring, using my new friend quicksilver, when after 2 days it wouldn’t start up anymore. The infamous question mark folder appeared after the infamous white screen of death, leaving my macbook locked for ordinary humans like me. Google couldn’t help me. Nothing on the net could help me out. On day one I installed all the updates it could find, so I figured all would be well. But no. I even reinstalled OSX that night, only to be left with the same white screen and questionmark folder upon first reboot. I was, however, able to deduct that the hard drive was fine (because disk utility said so after each test).

So the next morning I gave the machine back to the store, which gave me an entirely new macbook in return the next day, telling me they found the harddrive to be faulty (!). Too bad that I never got the chance to backup all my work, so I decided to do that every so often from now on. And that was no luxury decision. Because after another 9 days the same problem happened to me again! And again I could tell that the hard drive was fine. So I went back to the store and told them about my findings. I even mentioned my suspicions about a flaw in the EFI boot loader, because both disks proved fine. I asked them to backup the goods on the harddrive (which they said they would). But when the store gave me back my machine (after 3 days!), they said that they changed the harddrive because it was faulty (?). And when I asked them where my files were, they said that somehow that information was not given in time to the tech ppl. NOOOOOOOO! So much time lost! (back to scraping the interweb). They did however tell me with a friendly smile that they had already preinstalled OSX for me. How nice!

In the mean time I had found more posts regarding my macbook’s symptoms. Many people believe it has to do with a flaw in the EFI bootloader, but which is denied by Apple themselves. So by now I was worried that this new harddrive wouldn’t be the solution to my problem and wanted my money back. Hell, I can’t work on-site as a freelance programmer with a failing laptop! They would not do that however, hiding behind saying that the period in which I was able to do so expired. But when I asked them how long a period that is, since I only had it under 2 weeks, they said “we cannot disclose that information”. How frikkin weird and customer unfriendly that came across, you can imagine.
So off I went to work again, reinstalling my time machine backup, working through lots of hickups because of broken symlinks and files that disappeared somehow. (Strange.) But then I realised that my screen was too dim, and had only about 60 to 70% of the brightness as my first macbook pro. So I went digging on the net, and eventually found out that the store’s technicians had preinstalled one of the most ancient versions of OSX from late 2007 (9G55). And it was known to have a brightness issue. But worst of all, it had kernel version 9.6.0, which wouldn’t be upgraded to the current 9G2141 version with 9.6.2 kernel (that is on my install DVD). For heavens sake! Haven’t you Apple store airheads caused me enough grief?! That night I had to redo the entire days work. All in all I have lost over 3 billable days to this sharade. Pfffff…

Did I tell you that I have a friend who had his Mac repaired 5 times within half a year? Stoopid me knew this, but I decided to buy one anyway. Hoping that wouldn’t happen to me, reasoning about Apple selling controlled hardware with specialized software.

So whats my advice? Don’t buy one? I am not saying that, don’t get me wrong. Maybe I am the victim of a poor hardware/software combo, and if so, many with me (do you? is that how you found this post?). And I certainly feel that I was not helped by the Apple store and its crew, even though they were a smiling and friendly bunch. But I like a LOT of my Macbooks offerings, and am certainly willing to spend all that time to get used to its crippled keyboard layout (no delete key, no right CTRL key, bad keyboard mappings in Terminal), or find ways about cut and paste not working in Finder (only drag and drop will work, how painful!), or … pffff, what a list that has become. But like I said, I am willing to go ahead with it. After having had the pleasure of Ubuntu’s super functionality, I am crazed about the crispness of OSX. And to be able to use Quicksilver in all it’s might, as opposed to the flimsy wanne-be Gnome-Do (which not only lacks Quicksilvers usability and true powers, but also lacks a good team leader with vision in my opinion, you can find a post on this blog about that here) .

Anyway, it’s been a week now, and I haven’t had any problems since then. Time machine is backing up right now, using a custom sized sparsebundle on my external harddrive (thanks to a little app called TimeTamer).
Lets hope I don’t run into more MacDrama (which is how I dubbed my macbook :p). No coincidence. Did you know my first nickname is MoDrama?

Next time you check in here I hope to have filled up my fav OSX apps section. It will be worth checking out!