Social Discovery and Improving Location Capabilities using bluetooth on iOS

Just like a title states. We are trying to explore how we can improved accuracy of the user’s location using iOS.

http://stackoverflow.com/questions/13177384/is-it-possible-to-get-bluetooth-mac-and-or-signal-strength-in-ios-6

http://stackoverflow.com/questions/11772746/iphone-4s-can-connect-two-bluetooth-4-0-device

Some things that we need to accomplish are:
- discover devices that are nearby

QR Code

- http://www.oscarsanderson.com/2011/08/07/implementing-a-qr-code-reader-on-the-iphone/
-  http://mobileorchard.com/tutorial-networking-and-bonjour-on-iphone/
- https://developer.apple.com/bonjour/

Testing Locally:

http://developer.apple.com/library/ios/#technotes/tn2295/_index.html

 

 

 

 

 

Categories: Uncategorized | Leave a comment

Video Conference in Browser?

http://www.codeproject.com/Articles/515192/Video-Conferencing-using-WebRTC

http://www.codeproject.com/Articles/486354/Use-JavaScript-and-WebRTC-API-to-access-your-Camer

 

Categories: Uncategorized | Leave a comment

IE 10 vs AJAX console.log

I found one more reason to love IE (ironic)
For last few days (it was low priority project) I was trying to find out why my web app doesn’t work under IE 10.
It was surprising for me because I didn’t have problem with web app with other browsers like Safari, Firefox or Google Chrome.  After some debugging I narrowed down problem to AJAX call.
I will save you reading all my code provided below, and tell you what was wrong.
So IE didn’t like console.log.

Yes, CONSOLE.LOG!!! WTF Microsoft????
My AJAX call wasn’t executed because console.log statement was written before the send() method…

The only reason why I found it is because web app was working fine whenever I had developers tool on.

Now. What do you think it’s the reason this behavior?

I agree that we should always write a clean code, but WTF. If you want to have logging statement in my code I should be able to have it!

var insertXmlhttp;
var updateXmlhttp;
var validateXmlhttp;

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  	insertXmlhttp=new XMLHttpRequest();
    updateXmlhttp=new XMLHttpRequest();
  	validateXmlhttp = new XMLHttpRequest();
  }
else
{// code for IE6, IE5
 insertXmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 updateXmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 validateXmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

insertXmlhttp.onreadystatechange=function()
 {

    if (insertXmlhttp.readyState==4 && insertXmlhttp.status==200)
    {
	  	current_attemptId = insertXmlhttp.responseText;	
    }
}

function startTheAttempt (activity, score)
{
	console.log("And now in ajax.js Start The Attempt: ");
	insertXmlhttp.open("POST","../Scripts/attempt.php",true);
	insertXmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
	insertXmlhttp.send("action=start&activity="+activity+"&score="+score+"&userid="+userId);
	alert(" Start The ATTEMPT 2 + ");
}
Categories: Cool Tools & Techniques, Projects | Tags: , | Leave a comment

Cool Graphs

Check out 50 Javascript libraries for Charts and Graphs.
http://techslides.com/50-javascript-charting-and-graphics-libraries/

Categories: Uncategorized | Leave a comment

BlackBerry Port A Thon

So far I have mixed feelings about RIM Blackberry.
I am trying to register as a new Vendor, and so far I am getting much help.
I sent them emails with required documents to three different places and so far I can hear back…
silence, nothing, null.
Not the best sign for the company that is trying to survive on the market.

Categories: Uncategorized | Leave a comment

Cross Platform Development

So I have to build an app that will work for Android and iOS.
I like more native approach, but in this case I wanted to try something new and learn more about cross platform solutions.
After few hours of research I decided to go with Sencha Touch.
After installing the tools I am getting message that is described broadly here
Not a best start Sencha! Big Minus

Categories: Uncategorized | Leave a comment

Free Photo Resources:

I will try to list the free resources can be used for web and mobile design.

Here we go:

Email me at mobilenterprise@gmail.com if you know good resource you would like to see here

Categories: Uncategorized | Tags: , | Leave a comment

Searchable Website Without Server Side Scripting Language Code

How to make bunch of static html pages searchable?

As I found it’s not that hard. And there is no need of back-end, server side code.

It can be done using jQuery plugin, called Tipue.

The only thing you will need to do is to provide Tipue with list of pages that will be searchable.
In my case I used a XML Site Map and used site map exported to text file.

Ok so here are the steps to make your site searchable:

  • Get the code of tipue and put it in one of the folders of your website
  • Follow their documentation to add appropriate stylesheets. In my case I found out that documentation that I want to make searchable has one global css file that is imported into each html page of the website. That made my work easier. Only I think I had to do is to add two import statements in the top of the CSS file:
    @import url("http://fonts.googleapis.com/css?family=Open+Sans:300,400");
    @import url("http://YOUR_URL/tipuesearch.css");
    
  • Create a search page. I used the page that comes with sample code of tipue and modified it little bit.
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    
    <html>
    <head>
    <title>Tipue Search</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    
    <link href="http://fonts.googleapis.com/css?family=Open+Sans:300,400" rel="stylesheet" type="text/css">
    <link rel="stylesheet" type="text/css" href="example.css">
    
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
    
    <script type="text/javascript" src="tipuesearch/tipuesearch_set.js"></script>
    <script type="text/javascript" src="tipuesearch/tipuesearch_content.js"></script>
    <link rel="stylesheet" type="text/css" href="tipuesearch/tipuesearch.css">
    <script type="text/javascript" src="tipuesearch/tipuesearch.js"></script>
    
    </head>
    <body>
    <div class="block" style="padding-top: 30px;"><a href="http://www.tipue.com"><img src="img/head.png" class="light_image" style="width: 76px; height: 42px;" alt="Tipue"></a></div>
    <div class="block" style="padding: 31px 0 21px 0;">
    <div style="float: left;"><input type="text" id="tipue_search_input"></div>
    <div style="float: left; margin-left: 13px;"><input type="button" id="tipue_search_button"></div>
    <div id="tipue_search_content"></div>
    </div>
    <script>
    $(document).ready(function() {
         $('#tipue_search_input').tipuesearch({
              'show': 25,
    'mode':'live'
         });
    });
    </script>
    </body>
    </html>
     

    I made only two significant changes. I changed the mode of the tipue to ‘live’ and increased the number of documents that will be shown from 5 to 25.

  • Provide the list of the pages:
    If you set the mode of tipue to life you need to modify the tipuesearch_set.js file to provide list of the pages to search.
    In my case I used a XML Site Map and used site map exported to text file.
    I put the text file in the same folder as tipue files and modified the file so it looks like:

    
    /*
    Tipue Search 2.0
    Copyright (c) 2012 Tipue
    Tipue Search is released under the MIT License
    
    http://www.tipue.com/search
    
    */
    
    
    var tipuesearch_stop_words = ["and", "be", "by", "do", "for", "he", "how", "if", "is", "it", "my", "not", "of", "or", "the", "to", "up", "what", "when"];
    
    var tipuesearch_replace = {"words": [
         {"word": "tipua", replace_with: "tipue"},
         {"word": "javscript", replace_with: "javascript"}
    ]};
    
    var tipuesearch_stem = {"words": [
         {"word": "e-mail", stem: "email"},
         {"word": "javascript", stem: "script"},
         {"word": "javascript", stem: "js"}
    ]};
    
    
    var tipuesearch_pages;
    
    
    
    function showGetResult()
    {
         var result = null;
         var scriptUrl = "urllist.txt";
         $.ajax({
            url: scriptUrl,
            type: 'get',
            dataType: 'html',
            async: false,
            success: function(data) {
                result = data;
            } 
         });
         return result;
    }
    	
    var r = showGetResult();
    tipuesearch_pages = r.split(/\r\n|\r|\n/);
    
    

    Notice the scriptURL – it needs to point to text file that contains list of the html pages that will be searchable.

  • And that’s it. Enjoy it! You can find a draft of the site that uses tipue under Wiki

.

Categories: Uncategorized | Tags: , , , | Leave a comment

Amazon EC2

It’s hard to express what I think about Amazon right now.
Few days ago I lost ability to scp to the linux instance. Today I couldnt ssh.
I decided to reboot the instance. And that caused that I lost all data!

I can’t blame everything on Amazon because apparently attaching EBS volumes is not enough and I need to mount them too which I didn’t.
But why the fuck I lost ability to connect to my server at first?
That’s completely messed up! I wouldn’t even try to reboot without having this problems at first.
EDIT:
I was able to restore the data by attaching the old volume to new instance.
I am still not able to ssh to old instance.

Categories: Uncategorized | Tags: , | Leave a comment

Developing iOS Applications – Concepts

Categories: Uncategorized | Leave a comment