» lets.coozi.com.au (downloads | tools i use) ... beware the tiger ...


0 1 0
0 0 1
1 1 1
{michaelslists}at<gmail.com> | rss
welcome to silkyblog | Search:
lets logo

About:
» Noon Silk

Currently:
Loading ...

    Recent comments:
    Loading ...

      adriana 26

      adriana 1

      adriana 2

      adriana 3

      adriana 4

      adriana 5

      adriana 6



      adriana 91

      Links: del.icio.us api is screwing us. Go here for the list.

      adriana 18

      adriana 20

      adriana 24

      adriana 23

      » and i shall deliver it on the 4th of september ...

      Signature: <placeholder>

      Posted on the 4 July 2008, by Noon Silk

      So, you know, be prepared ...

      misc | comment(s) 1

      » there is a problem ... let me solve it with ... OPEN SOURCE!

      Signature: <placeholder>

      Posted on the 3 July 2008, by Noon Silk

      Dear Everyone,

      If you ever say or think this you should probably be shot. Or at least made to "work on" the thousands of open source projects that already do exactly what you just thought of on source forge.

      "Open Source" isn't a answer or solution to anything. It's something you do because you are generous and want to share. If you expect people to help you, or even care about what you do, then you're insane. If you think it's a solution for anything you're doomed.

      So stop it.

      Love, Silky

      misc | comment(s) 0

      » qr codes + cookies + xss attack = death

      Signature: <placeholder>

      Posted on the 2 July 2008, by Noon Silk

      We know that QR Codes[1] allow you to embed some data, typically a link, into a image which can then be photographed by a camera and actioned by the software reading the code.

      So let's imagine, for a moment, that some site "m.coozi.com.au" has a xss flaw in parameter "a". And you have cookies on m.coozi.com.au that you care about. I could make a QR Code that'd steal those cookies from you.

      It'd be subtle, sure, and it would be low penetration but it'd be easy because, probably, you may not get a chance to review the URL before going to it. I mean even if you wanted to, it's on your phone. It's tiny. It's annoying to read long pieces of text like that.

      Mildly interesting to think about.

      mobile, "security" | comment(s) 0

      » sharing data between server.transfers

      Signature: <placeholder>

      Posted on the 30 June 2008, by Noon Silk

      I found this useful just now; maybe you might as well. If you want to share some information temporarily with the next page on a "Server.Transfer", you can use "Context.Items":

      // somepage.aspx
      
      Context.Items["hey"] = "there";
      Server.Transfer("newpage.aspx?foo=y");
      
      // ...
      
      // newpage.aspx
      string message = Context.Items["hey"] as string;
      

      Trivial, and useful.

      c# | comment(s) 0

      » to you

      Signature: <placeholder>

      Posted on the 30 June 2008, by Noon Silk

      i wish i had.

      misc | comment(s) 2

      » problems with mobile development

      Signature: <placeholder>

      Posted on the 24 June 2008, by Noon Silk

      Following my PubCamp talk I thought I'd list the various issues that have hit me when doing my work. In no particular order ...

      But before that, just for fun, here is me on the piano providing entertainment after the sessions ended ...

      Okay, now to work ...

      Random Incompatibility

      Hard to narrow this down but what I'm getting at is when your working on a client side application, or even some form of "website" [wml, chtml, html, whatever] you will note that phones may not do what they even claim to do. This can expose itself in a variety of forms. One may be, when checking for a feature in Java on a MIDP 2.0/1.0 whatever phone, it may lie slightly about what it says it supports, or at least not follow the standard mechanism for reporting said features.

      Another case may be the various implementations of WML that will stop the phone from successfully entering data into input fields on pages you create, etc.

      This is, of course, not even covering the functionality you'll need to actually look for and adjust specifically (i.e. not interactive SMS capability, etc).

      Testing

      Testing is a massive one. You can easily write something and say "okay let me test it". So you test on your phone, and it works. Nice enough. But there are thousands of other phones you need to test on. It's not like development for firefox, opera, ie, ie7, safari, and whatever else. Even in that world there are at most 50, maybe, browser you'll want to test on for "unbelievably awesome" compatibility.

      In the phone world; if you test on 50 phones you're only scratching the surface. You need to ask yourself what sort of plans were those phones on, which provider were they with? Re-test every single phone again with a different provider and see if the results are the same. They won't be.

      So maybe you consider a program like "java verified"[1] (if you're writing j2me apps). Well, you'll need to make sure they go through the intricacies of the various providers-differences and not just a "naked" phone. You'll need to find a provider in your area and also pay through the nose, IIRC, to get started. Probably out of range for the "hobbyist" or startup.

      Best way to test, in my experience, is just to go out and find people and grab their phones and test. And document like crazy. Create a knowledgebase of information to use when supporting your real customers. Hassle friends, make new friends and get their phones, etc.

      How to talk to yourself? Communication Channels

      Probably if you have a mobile "app" you're going to want to talk to one of your servers and then back to the client again [i.e. have them input a name or similar]. So you need to consider how, and what sort of channels you open up, and the cost of them. SMS? SMS can actually get annoyingly expensive, depending on your revenue model. "Internet" channels? GPRS 2G/3G. Well, these are very expensive, as we probably know, if you aren't on a data plan. Sometimes they can come with the phones natively (Like the "3" network) but even they are locked in their own "area" by default (will talk about this later).

      Some of the newer phone sdks (Android for example) offer "custom" channels. Android talks about a "GTalk" channel you can use to talk to other phones and presumably a server. But is this over wifi or regular phone internet? Is it only available when wifi is available? does it switch over if it finds wifi? etc. These sort of things with drastically affect the cost of using your service.

      Open-ness of the platform

      It's interesting to think about the platform you are going to develop for (maybe iPhone/Touch) and how open they are in terms of what can get on there. You will find, with apple at least, you'll need to go through an approval process to get a local client app installed. It's probably worth asking yourself; why even bother? Maybe a basic website is suitable for these devices. Maybe not, it's up to you. But consider also that apple, at least for now, are after some sort of revenue-share, and whether or not you're happy to give that up, consider even how it would work! Would apple take x% of your overall profit when they are only 2% of the phones? Hope not. So that suggests some scheme you implement to detect the source of income; and even that will be time-consuming. And I don't even know if Apple would accept that model.

      Blackberry always "seems" closed, but in reality; in my experience, it's just that the corporate installation has them locked down. If you can talk the corporation that runs the device into opening it up, it should be possibly to get installed on there, and get them out of the zones.

      "WAP"

      WAP/WML/cHTML If you don't know the difference between all of these, or why people call it "wap" then don't worry, neither do I. Near as I can tell, WML is the "most" supported, i.e. lower-end phones and cHTML up to regular HTML as you get into newer phones. Older phones do "try" and support regular websites via their own low-end browsers, but functionality is strange and it mostly looks terrible, unless you've designed specifically for it.

      Some things to look out for here are: support of cookies, support of hidden fields, support of SSL (if you care), and input-types.

      On some phones (Treo) I've seen the thing be able to submit data in certain fields, but have other selections it makes completely ignored. It looks as if it submits, but infact the data isn't sent to my server. It's quite strange.

      International Numbers

      Probably you'll want to go international with your website; I mean it's on the web. You're international with that, right? Well hang on.

      Along with many other things, one little thing to think about with internationalisation is the phone numbers. If you want to communicate with your customers, you'll need to get their number in international format. How? Maybe they sign up via an SMS message in which case you get it. So that's a bit easier, but you'll still need work up a mapping strategy to get their country from their phone number. You can't assume it based on the country that they happen to be in (their phone could be romaing from another country).

      If you want them to choose their country well that's fine enough on a website signup, but no a mobile site forget it. The list would be too large. So work something else out. Perhaps let them write it in and you detect it yourself in some fashion.

      Which Handsets?

      Maybe this one belongs up the top, but it really is important that you have a nice long think about which markets you are ruling out by not supporting various handsets. And, obviously, phones that don't even have data plans! As part of your "mobile" development you will almost certainly want to interact with your system via normal SMS.

      Delays

      It's interesting to think about how important speed-of-response is to you. If somsone messages your system, how quickly does it need to answer? Immediately? Be careful which SMS gateway provider you choose. Some, by no fault of their own, deliver messages slower due to the Telco they choose to integrate with, or due to load on their services. It may be worth paying a large premium in-order to ensure prompt delivery times.

      Markets

      So lets say you're going international, which countries are you looking at? US? For local apps? Forget it. Take a read of this[3] to find out why.

      Other countries are better though. Europe and Japan being the obvious ones. If you do go to Japan, however, obviously you'll need to consider the associated issues of localising for another language.

      Update Strategies

      If you go for a local app, chances are one day you'll want to update it. Consider this. How will you achieve it? Will it be difficult? Can you update yourself by creating a sort-of self-updating component? Maybe, but bear[2] in mind that you may need to fight with local data storage problems, and other such things.

      If you think your app may be "update-happy" you should really consider sticking to WAP-only, or using some sort of framework that lets you perform updates*.

      That'll do for now. Hope it's of use to someone :) I don't mean to disuade anyone from this area. Personally, I find it a lot of fun!

      * Disclaimer: I kind of work with a guy that writes a framework like this. Note that I haven't told you about it, so I'm not spamming you, hopefully, but if you know me you'll may also know about this company, so I'm not trying to sneak in an ad for him, and I'm certainly not getting any money from him even you did choose his system :)

      mobile | comment(s) 5

      » crazy thumbnail website link things

      Signature: <placeholder>

      Posted on the 23 June 2008, by Noon Silk

      I cannot stand these. On some[1] peoples sites when you move over a link it pops up an amazingly annoying massive thumbnail of the site. Guess what, dorks, I don't care what the site looks like! If I wanted to know I'd click the link. I'd also like to, you know, continue reading what is now hiding under the popup! I guess it's a word-press feature. A really really stupid one.

      rants | comment(s) 0

      page generated by: silkyblog. took: longer than it should've.