Friday, July 26, 2013

Idea: location-based minisite for smartphone

This is an idea about the application of Mug and Sam.

While "Minisite" refers to a sort of websites which contains information about one specific product or subject, but in this context, minisite represents just a site that contains little amount of contents. If trying to write "location-based minisite" more detail, that means "location-based discoverable minisite in proximity". Mug and Sam are a sort of file sharing tool that is location-based, Sam has a role of host. Mug can discover nearby Sam, and access to files that are shared by Sam.



I am imaging that local businesses such as stores and restaurants use Sam as this location-based minisite. For example, a little photo exhibition at a cafe, and photos are accessible by customers' smartphones or tablets when they visit the cafe only. I know a cafe's owner who loves a travel, and had ever seen photos are on his cafe's wall. A little space was needed for even this little exhibition, if he utilized Sam then the space might not be required.

How would it works? Look at this (they're from my album, at Lake Louise) :





Above one is relevant to images, but audios or videos can be provided with:






If a document is needed, that is, at a information center or a conference, PDF would be fit:





As you see, Mug is basically designed for sharing media files, but you can configure it accessing any web resources:



On above, Mug is accessing Wikipedia page, but it is possible to configured to redirect a certain web site of a store. The benefit is, customers that visit the store can access to a webpage without inputting URL into web browser directly.



Currently, mega internet services are doing business based on their proprietary information that is collected only for itself and by itself. Lots of services - search engine, portal, map service, review site and so forth - have influenced to local business unilaterally.

But I believe IT technology can also help local business to face to this situation in some ways, like providing location-based minisite with unique user experience. And for that purpose, I'm in considering what features are needed additionally to these applications.

Any suggestions?



- Refer to http://www.fountainproject.com/info for detail information.

Friday, June 28, 2013

Mug and Sam, implementations from Fountain Project are released.

link: http://blog.fountainproject.com/post/54057159608/ready-to-go-with

I have been working on a sort of file/media sharing tool, which is location-based service. File sharing & location, yes, they're applications that similar to Bump. But basically, this applications don't require to 'Bump' at least. Once you run it, it just works to find out shared file nearby.

If you're interested in location based file sharing, just look over them. URL of web site is http://www.fountainproject.com


Thanks!

Thursday, December 13, 2012

Portable Django & Python for Mac OS X


Recently, I’m working on python-host program. Under the hood, that program hosts python binary, and the django development server works as HTTP API server on python environment. Although it’s not optimized, but useful enough for my purpose.

There’s other projects about this (like as DjangoOnAStick and Portable Python), however, they don’t provide for OS X version and < Python 2.7 versions. So I made up my mind to create something new. (this is based on python 2.7 and django 1.4)

Okay, refer to this URL : https://bitbucket.org/kenial/portable-django

There is shell script(also known batch file on Windows) ready. Use it like this:

Usage

Easy, huh?

Friday, November 2, 2012

Bookshelf template: Personal book list management on Google Apps Spreadsheet


* Google Apps Spreadsheet “Bookshelf template” link:
https://docs.google.com/spreadsheet/ccc?key=0AklzzbL8qXwhdG5zbUlNX04ydW1SV1hTa0xEVGpMV2c#gid=0

* “Bookshelf template” public template link:
https://drive.google.com/templates?view=public&authorId=03687076811691780014   


A friend of me wrote on SNS that she bought a desktop app managing personal book list. As I saw it then thought that ‘Oh I need this one too’ and was considering to buy one in a minute. But, well, I decided to implement it on my own. Features are simple. Input ISBN, book title, or author’s name, and then just run the script. So that the script will find information of the books from Google Books API, and paste them on a sheet. If you need additional fields, just add them as well as need.

source
For example, input a part of book information like this and run the script,

dest
sheet will be filled out with information of the books.

I was just trying to enhance my Google Apps Script skill, but if you need this, use freely : )

Friday, September 7, 2012

Execute a terminal command on a Cocoa application

* refer to http://stackoverflow.com/questions/412562/execute-a-terminal-command-from-a-cocoa-app/12310154#12310154

In order to write an cocoa application that can start/stop webserver embedded within, I needed some method could run terminal commands. One user(thanks kent!) suggested to use /bin/sh to run shell script file – and you might know, /bin/sh utility can run a line of command instead of script file with –c option. With NSTask and /bin/sh, I made some method to run a shell command by line:
NSString *runCommand(NSString *commandToRun)
{
    NSTask *task;
    task = [[NSTask alloc] init];
    [task setLaunchPath: @"/bin/sh"];

    NSArray *arguments = [NSArray arrayWithObjects:
                          @"-c" ,
                          [NSString stringWithFormat:@"%@", commandToRun],
                          nil];
    NSLog(@"run command: %@",commandToRun);
    [task setArguments: arguments];

    NSPipe *pipe;
    pipe = [NSPipe pipe];
    [task setStandardOutput: pipe];

    NSFileHandle *file;
    file = [pipe fileHandleForReading];

    [task launch];

    NSData *data;
    data = [file readDataToEndOfFile];

    NSString *output;
    output = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];
    return output;
}





Using above method, you can write a code to run a line of terminal shell command like this:


NSString *output = runCommand(@"ps -A | grep mysql");

Friday, August 24, 2012

What is a DEVELOPER to App Store, Google Play, and Windows Phone Marketplace?


I found out something interesting, when I was adding vary app stores' developer links(show app list of certain developer) on my resume. It was a piece of URL path of the link - my app store developer links are following:


You see what, Prior to 'kenial', and come up with something as I do. Yeah, there is artist prior to 'kenial' on App Store, in case of Google Play there is developer, in case of Windows Phone Marketplace, publishers.

Okay, now you have some idea about what a developer is for, in terms of each app store master : )

Monday, August 20, 2012

Amazon EC2 network latency test



Last March, I've tried to upload BITNA service(sort of web service for smartphone app) on world-wide Amazon EC2 servers. In that process, for checking latency, I wrote a memo regards ping latency and HTTP latency(specific page that returns kind of 'hello world'). Certainly, it's not pretty precise time and based on Korea's network environment, but I believe that you might need this data for your reference.

GAE(HTTP) is HTTP request/response latency, and others are ping request/response latency. (unit is ms) Surely, GAE means Google App Engine. This result shows HTTP latency is pretty much, as compared to ping latency.


to
from
GAEGAE(HTTP)Site A*Site B**
EC2(Oregon)20~30118~228~179~
EC2(Singapore)9~15261~116~122~
EC2(Tokyo)32~34254~48~52~
EC2(Ireland)21117~380~313~
EC2(Virginia)2~416~200~240~
*** KT wibro130~190320~88~95~
*** KT 3G300~380~
Cable Internet****45~52280~
* web-hosting type site in Korea
** virtual host type site in Korea
*** KT wibro and KT 3G are mobile internet service of Korean company KT.
**** Cable network ISP in Seoul, Korea