<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Giladon-line &#187; Mobile App Design</title>
	<atom:link href="http://giladlotan.com/blog/category/itp/mobile-app-design/feed/" rel="self" type="application/rss+xml" />
	<link>http://giladlotan.com/blog</link>
	<description>culture technology: bridging the gap</description>
	<lastBuildDate>Tue, 18 May 2010 00:29:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Mobile Apps &#8211; WAP</title>
		<link>http://giladlotan.com/blog/2006/11/mobile-apps-wap/</link>
		<comments>http://giladlotan.com/blog/2006/11/mobile-apps-wap/#comments</comments>
		<pubDate>Fri, 01 Dec 2006 04:09:37 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[Mobile App Design]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://giladlotan.com/blog/?p=96</guid>
		<description><![CDATA[<p>Wireless Application Protocol</p>
<p>-> 1st generation: WAP gateway &#8211; handles translation between phone and http pages</p>
<p>-> WAP 2.0: WAP gateway (GW) resembles a typical proxy server, mainly to support WAP 1.1 devices. SHTML-MP (mobile profile) released by the WAP forum for mobile phones.</p>
<p>i-Mode: Data service started by NTT Docomo in Japan, 1999. CHTML used extensively in [...]]]></description>
			<content:encoded><![CDATA[<p>Wireless Application Protocol</p>
<p>-> 1st generation: WAP gateway &#8211; handles translation between phone and http pages</p>
<p>-> WAP 2.0: WAP gateway (GW) resembles a typical proxy server, mainly to support WAP 1.1 devices. SHTML-MP (mobile profile) released by the WAP forum for mobile phones.</p>
<p>i-Mode: Data service started by NTT Docomo in Japan, 1999. CHTML used extensively in Japan.  This has mobile email. Business model is integrated with services. Revenue sharing with NTT Docomo made easy and profitable for small developers.</p>
<p><a href="http://wap.flirtomatic.com">flirtomatic</a><br />
<a href="http://mobitopia.com">mobitopia </a>- delicious for mobile sites<br />
<a href="http://winksite.com/">winksite </a>- chatting</p>
<p>textmarks.com &#8211; what do you want the world to know?</p>
<p>WTAI &#8211; embed a phone number in a link. When clicked, your phone calls that number.</p>
<p>WURFL &#8211; wireless universal resource file &#8211; distinguishes between device types and capabilities. Its open source, multiple languages, easy setup.</p>
<p>operamini.com/features/simulator &#8211; great online mobile phone simulator</p>
]]></content:encoded>
			<wfw:commentRss>http://giladlotan.com/blog/2006/11/mobile-apps-wap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SoCho &#8211; Mobile Social &#8220;Chow&#8221; App</title>
		<link>http://giladlotan.com/blog/2006/11/socho-mobile-social-chow-app/</link>
		<comments>http://giladlotan.com/blog/2006/11/socho-mobile-social-chow-app/#comments</comments>
		<pubDate>Thu, 16 Nov 2006 10:52:35 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[Mobile App Design]]></category>
		<category><![CDATA[mobile phone]]></category>
		<category><![CDATA[mososo]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://giladlotan.com/blog/?p=93</guid>
		<description><![CDATA[SoCho is a tool that makes restaurant recommendations to hungry
users, based on their social network. With a mobile device, users can
browse restaurants, view recommendations, search by cost, or the
system can make recommendations based on who you know and what type
of food you are interested in at that time. Social networks provide
the frame work for deriving [...]]]></description>
			<content:encoded><![CDATA[<div align="left">SoCho is a tool that makes restaurant recommendations to hungry<br />
users, based on their social network. With a mobile device, users can<br />
browse restaurants, view recommendations, search by cost, or the<br />
system can make recommendations based on who you know and what type<br />
of food you are interested in at that time. Social networks provide<br />
the frame work for deriving eating habits, likes, and dislikes.<br />
Delivering food recommendations to mobile device supports their<br />
ubiquitous nature. The ability to retrieve and create recommendations<br />
on a mobile device is further supported by the changing nature of the<br />
network. In other words, one of the strongest aspects of having<br />
mobility, is the ability to see the constantly changing nature of the<br />
recommendation system from anywhere, at anytime.</div>
<div align="left" />
<div align="left"><a href="http://giladlotan.com/blog/?p=40">Network Background </a></div>
]]></content:encoded>
			<wfw:commentRss>http://giladlotan.com/blog/2006/11/socho-mobile-social-chow-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UTF-8 J2ME Datastream Implementation</title>
		<link>http://giladlotan.com/blog/2006/11/utf-8-j2me-datastream-implementation/</link>
		<comments>http://giladlotan.com/blog/2006/11/utf-8-j2me-datastream-implementation/#comments</comments>
		<pubDate>Mon, 13 Nov 2006 01:27:40 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[Mobile App Design]]></category>
		<category><![CDATA[languaget]]></category>
		<category><![CDATA[mobile phone]]></category>
		<category><![CDATA[mososo]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://giladlotan.com/blog/?p=79</guid>
		<description><![CDATA[<p>I&#8217;m trying to get foreign alphabet characters to show up on my mobile phone via a J2ME translation application that I&#8217;m writing.</p>
<p>The biggest hurdle is understanding how unicode works, and creating an http connection that reads UTF-8 bytes.</p>
<p>Step-by-step:</p>

Make sure you have Arial Unicode MS font or any other unicode font.
Update properties file in phone emulator [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m trying to get foreign alphabet characters to show up on my mobile phone via a <a href="http://giladlotan.com/blog/?page_id=35">J2ME translation application</a> that I&#8217;m writing.</p>
<p>The biggest hurdle is understanding how unicode works, and creating an http connection that reads UTF-8 bytes.</p>
<p><strong>Step-by-step</strong>:</p>
<ol>
<li>Make sure you have <a href="http://wiki.tcl.tk/11392">Arial Unicode MS font</a> or any other unicode font.</li>
<li>Update properties file in phone emulator with the wanted unicode font. (as explained here: <a href="http://www.devarticles.com/c/a/Java/J2ME-and-Unicode/1/">Enabling Unicode Charset on the Emulator</a>)</li>
<li>Now its a good time to use a very simple code in order to test if our Unicode Emulator is working. I used this <a id="p92" href="http://giladlotan.com/blog/wp-content/uploads/2006/11/helloworldjap.txt">Hello World Japanese</a> code, and the result was very exciting: <a class="imagelink" title="Hello World Japanese" href="http://giladlotan.com/blog/wp-content/uploads/2006/11/hello-world-japanese.jpg"><br />
</a></p>
<div style="text-align: center"><a class="imagelink" title="Hello World Japanese" href="http://giladlotan.com/blog/wp-content/uploads/2006/11/hello-world-japanese.jpg"><img width="193" height="287" id="image83" alt="Hello World Japanese" src="http://giladlotan.com/blog/wp-content/uploads/2006/11/hello-world-japanese.jpg" /></a></div>
</li>
<li>Next I created a very <a href="http://giladlotan.com/MobileApps/hebrew%20page.htm">simple webpage</a> with some UTF-8 encoded characters (hebrew is easiest for me). I wrote a simple http connection  app, using the following bit of java code &#8211; <a id="p89" href="http://giladlotan.com/blog/wp-content/uploads/2006/11/httpconnection.txt" /><a id="p91" href="http://giladlotan.com/blog/wp-content/uploads/2006/11/httpconnection.txt">UTF8 Http Connection</a>. This is the result I got (hebrew text in the red box):
<div align="left" /><strong> </strong></p>
<div style="text-align: center"><a title="Hebrew on emulator" class="imagelink" href="http://giladlotan.com/blog/wp-content/uploads/2006/11/hebrewutf8.jpg"><img width="190" height="281" alt="Hebrew on emulator" id="image85" src="http://giladlotan.com/blog/wp-content/uploads/2006/11/hebrewutf8.jpg" /></a></div>
</li>
<li><strong> </strong>Tried a few different languages. Got it to work in most common charsets (at least the ones that I need for my translation application). Here is the text in Simplified Chinese Characters: (&#8230; don&#8217;t ask me why, but the text says &#8220;<em>hi my name is gilad&#8230; Do you have some cheese?</em>&#8220;) <a title="simplified chinese" class="imagelink" href="http://giladlotan.com/blog/wp-content/uploads/2006/11/simplified-chinese.jpg"><br />
</a></p>
<div style="text-align: center"><a title="simplified chinese" class="imagelink" href="http://giladlotan.com/blog/wp-content/uploads/2006/11/simplified-chinese.jpg"><img width="194" height="269" alt="simplified chinese" id="image87" src="http://giladlotan.com/blog/wp-content/uploads/2006/11/simplified-chinese.jpg" /></a></div>
</li>
<li><strong> </strong>Next phase is to deploy this simple app onto the Nokia N80. When I tried that I got an &#8220;<em>Unhandled Expression</em>&#8221; error.</li>
</ol>
<p><span id="more-79"></span></p>
<table width="80%" summary="Description of standard charsets">
<tr>
<th>
<p align="left">Charset</p>
</th>
<th>
<p align="left">Description</p>
</th>
</tr>
<tr>
<td valign="top"><tt>US-ASCII</tt></td>
<td>Seven-bit ASCII, a.k.a. <tt>ISO646-US</tt>,          a.k.a. the Basic Latin block of the Unicode character set</td>
</tr>
<tr>
<td valign="top"><tt>ISO-8859-1  </tt></td>
<td>ISO Latin Alphabet No. 1, a.k.a. <tt>ISO-LATIN-1</tt></td>
</tr>
<tr>
<td valign="top"><tt>UTF-8</tt></td>
<td>Eight-bit UCS Transformation Format</td>
</tr>
<tr>
<td valign="top"><tt>UTF-16BE</tt></td>
<td>Sixteen-bit UCS Transformation Format,          big-endian byte order</td>
</tr>
<tr>
<td valign="top"><tt>UTF-16LE</tt></td>
<td>Sixteen-bit UCS Transformation Format,          little-endian byte order</td>
</tr>
<tr>
<td valign="top"><tt>UTF-16</tt></td>
<td>Sixteen-bit UCS Transformation Format,          byte order identified by an optional byte-order mark</td>
</tr>
</table>
<p><strong>Useful functions and classes</strong>:</p>
<ul>
<li><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStreamReader.html">InputStreamReader()</a> &#8211;  An InputStreamReader is a bridge from byte streams to character streams: It  reads bytes and decodes them into characters using a specified <a title="class in java.nio.charset" href="http://java.sun.com/j2se/1.4.2/docs/api/java/nio/charset/Charset.html"><code><code>charset</code></code></a>. Each invocation of one of an InputStreamReader&#8217;s read() methods may  cause one or more bytes to be read from the underlying byte-input stream.</li>
<li><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/io/DataInputStream.html">DataInputStream()</a> &#8211; A data input stream lets an application read primitive Java data  types from an underlying input stream in a machine-independent  way.   Data input streams and data output streams represent Unicode  strings in a format that is a slight modification of UTF-8.</li>
</ul>
<p><strong>Useful Links</strong>:</p>
<p><a href="http://java.sun.com/docs/books/tutorial/i18n/text/stream.html">Java tutorial</a> on using unicode</p>
<p><a href="http://developers.sun.com/techtopics/mobility/midp/articles/termemulator3/">MIDP Fonts</a></p>
<p><a href="http://www.unipad.org/download/">Unicode Text Editor</a> software</p>
<dl>
<dd>
<dl> </dl>
</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://giladlotan.com/blog/2006/11/utf-8-j2me-datastream-implementation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mobile Apps &#8211; Nov. 9th</title>
		<link>http://giladlotan.com/blog/2006/11/mobile-apps-nov-9th/</link>
		<comments>http://giladlotan.com/blog/2006/11/mobile-apps-nov-9th/#comments</comments>
		<pubDate>Sat, 11 Nov 2006 00:34:12 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[Mobile App Design]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://giladlotan.com/blog/?p=81</guid>
		<description><![CDATA[<p>Images/Icons &#8211; use PNG&#8217;s that are indexed images.</p>
<p>Resolution &#8211; 176w by variable height (around 208px)</p>
<p>SVG &#8211; scalable vector graphics &#8211; Open XML standard. Tiny Line SVG &#8211; for mobile phones.</p>
<p>Tools &#8211; ONGCrush, PNGOut, PNG tweak</p>
<p>PIM API</p>
<p>Personal Information Manager</p>
<p>PIM list or PIM item (single)</p>
<p>WMA &#8211; Wireless Messaging (to send an SMS)</p>
<p>Push Registry &#8211; to receive an [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Images/Icons</strong> &#8211; use PNG&#8217;s that are indexed images.</p>
<p><strong>Resolution</strong> &#8211; 176w by variable height (around 208px)</p>
<p><strong>SVG</strong> &#8211; scalable vector graphics &#8211; Open XML standard. Tiny Line SVG &#8211; for mobile phones.</p>
<p><strong>Tools</strong> &#8211; ONGCrush, PNGOut, PNG tweak</p>
<p><strong>PIM API</strong></p>
<p>Personal Information Manager</p>
<p>PIM list or PIM item (single)</p>
<p>WMA &#8211; Wireless Messaging (to send an SMS)</p>
<p>Push Registry &#8211; to receive an SMS Message</p>
<p><strong>PushRegistry and WMA</strong> &#8211; While MIDP 2.0 defines socket and datagram connection types, it does not define message-oriented connection types, such as SMS. The <a href="http://developers.sun.com/techtopics/mobility/midp/articles/wma/">Wireless Messaging API</a> introduces <code>MessageConnection</code>, a special connection type for message-oriented connections. You can set up a <code>MessageConnection</code> for inbound connections and use it for push. Refer to the <a target="_blank" href="http://java.sun.com/products/wma/index.jsp">WMA specification and recommended practices</a> for more information, for example on how to specify WMA open, send, and receive permissions in MIDP 2.0 applications.</p>
<p>MUPE &#8211; collaborative open source API</p>
]]></content:encoded>
			<wfw:commentRss>http://giladlotan.com/blog/2006/11/mobile-apps-nov-9th/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bluetooth Research for Ubiach</title>
		<link>http://giladlotan.com/blog/2006/11/bluetooth-research-for-ubiach/</link>
		<comments>http://giladlotan.com/blog/2006/11/bluetooth-research-for-ubiach/#comments</comments>
		<pubDate>Sun, 05 Nov 2006 22:49:32 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[Mobile App Design]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[travel]]></category>
		<category><![CDATA[ubiach]]></category>

		<guid isPermaLink="false">http://giladlotan.com/blog/?p=72</guid>
		<description><![CDATA[<p>Here is what we&#8217;re thinking of ordering:  http://www.blueradios.com/BR-SC40A.pdf</p>
<p>But we&#8217;re still unsure about how to implement the audio PCM channel&#8230;. Trying to gather as much information as possible before we start hacking this chip.</p>
<p>&#8212;-</p>
<p>The following article is from mobileinfo </p>
<p>Bluetooth Technology</p>
<p>How Bluetooth Technology Works</p>
<p>&#8220;Connective convenience&#8221;</p>
<p>Bluetooth is a high-speed,     low-power microwave wireless [...]]]></description>
			<content:encoded><![CDATA[<p>Here is what we&#8217;re thinking of ordering:  http://www.blueradios.com/BR-SC40A.pdf</p>
<p>But we&#8217;re still unsure about how to implement the audio PCM channel&#8230;. Trying to gather as much information as possible before we start hacking this chip.</p>
<p>&#8212;-</p>
<p><strong>The following article is from</strong> <a href="http://www.mobileinfo.com/Bluetooth/how_works.htm">mobileinfo </a></p>
<p><strong><font size="3" face="Arial"><font color="#ff6600">Bluetooth Technology</font></font></strong></p>
<p><strong><font size="2" face="Arial">How Bluetooth Technology Works</font></strong></p>
<p><font size="2" face="Arial">&#8220;Connective convenience&#8221;</font></p>
<p><font size="2" face="Arial">Bluetooth is a high-speed,     low-power microwave wireless link technology, designed to connect phones,     laptops, PDAs and other portable equipment together with little or no work     by the user. Unlike infra-red, Bluetooth does not require line-of-sight     positioning of connected units. The technology uses modifications of     existing wireless LAN techniques but is most notable for its small size and     low cost. The current prototype circuits are contained on a circuit board     0.9cm square, with a much smaller single chip version in development. The     cost of the device is expected to fall very fast, from $20 initially to $5     in a year or two. It is envisioned that Bluetooth will be included within     equipment rather than being an optional extra. When one Bluetooth product     comes within range of another, (this can be set to between 10cm and 100m)     they automatically exchange address and capability details. They can then     establish a 1 megabit/s link (up to 2 Mbps in the second generation of the     technology) with security and error correction, to use as required. The     protocols will handle both voice and data, with a very flexible network     topography.</font></p>
<p><font face="Arial"><font size="2" face="Arial">This technology achieves     its goal by embedding tiny, inexpensive, short-range transceivers into the     electronic devices that are available today. The radio operates on the     globally-available unlicensed radio band, 2.45 GHz (meaning there will be no     hindrance for international travelers using Bluetooth-enabled equipment.),     and supports data speeds of up to 721 Kbps, as well as three voice channels.     The bluetooth modules can be either built into electronic devices or used as     an adaptor. For instance in a PC they can be built in as a PC card or     externally attached via the USB port.</font></font></p>
<p align="center"><font size="2"><font size="2" face="Arial"><img width="457" height="148" align="left" src="http://www.mobileinfo.com/Bluetooth/images/Image9.gif" /></font></font></p>
<p><font size="2" face="Arial">Each device has a unique 48-bit address     from the IEEE 802 standard. Connections can be point-to-point or multipoint.     The maximum range is 10 meters but can be extended to 100 meters by     increasing the power. Bluetooth devices are protected from radio     interference by changing their frequencies arbitrarily upto a maximum of     1600 times a second, a technique known as frequency hopping. They also use     three different but complimentary error correction schemes. Built-in     encryption and verification is provided.</font></p>
<p><font size="2" face="Arial">Moreover, Bluetooth devices won&#8217;t drain     precious battery life. The Bluetooth specification targets power consumption     of the device from a &#8220;hold&#8221; mode consuming 30 micro amps to the     active transmitting range of 8-30 milliamps (or less than 1/10th of a watt).     The radio chip consumers only 0.3mA in standby mode, which is less than 3 %     of the power used by a standard mobile phone. The chips also have excellent     power-saving features, as they will automatically shift to a low-power mode     as soon as traffic volume lessens or stops.</font></p>
<p><font size="2" face="Arial">Bluetooth devices are     classified according to three different power classes, as shown in the     following table.</font></p>
<div align="center"><center></p>
<table cellspacing="0" border="1">
<tr>
<td valign="middle"><font size="2">           </font></p>
<p align="center"><strong><font size="2" face="Arial">Power Class</font></strong></p>
</td>
<td valign="middle"><font face="Arial">           </font></p>
<p align="center"><font face="Arial"><strong><font size="2" face="Arial">Maximum Output</font></strong></font></p>
</td>
<td valign="middle"><font face="Arial">           </font></p>
<p align="center"><font face="Arial"><strong><font size="2" face="Arial">Power</font></strong></font></p>
</td>
</tr>
<tr>
<td valign="middle"><font face="Arial">           </font><font face="Arial"><strong><font size="2" face="Arial">1</font></strong></font></td>
<td valign="middle"><font face="Arial">           </font></p>
<p align="center"><font face="Arial"><strong><font size="2" face="Arial">100 mW</font></strong></font></p>
</td>
<td valign="middle"><font face="Arial">           </font></p>
<p align="center"><font face="Arial"><strong><font size="2" face="Arial">(20 dBm)</font></strong></font></p>
</td>
</tr>
<tr>
<td valign="middle"><font face="Arial">           </font><font face="Arial"><strong><font size="2" face="Arial">2</font></strong></font></td>
<td valign="middle"><font face="Arial">           </font></p>
<p align="center"><font face="Arial"><strong><font size="2" face="Arial">2.5 mW</font></strong></font></p>
</td>
<td valign="middle"><font face="Arial">           </font></p>
<p align="center"><font face="Arial"><strong><font size="2" face="Arial">(4 dBm)</font></strong></font></p>
</td>
</tr>
<tr>
<td valign="middle"><font face="Arial">           </font><font face="Arial"><strong><font size="2" face="Arial">3</font></strong></font></td>
<td valign="middle"><font face="Arial">           </font></p>
<p align="center"><font face="Arial"><strong><font size="2" face="Arial">1 mW</font></strong></font></p>
</td>
<td valign="middle"><font face="Arial">           </font></p>
<p align="center"><font face="Arial"><strong><font size="2" face="Arial">(0 dBm)</font></strong></font></p>
</td>
</tr>
</table>
<p></center></div>
<p><font face="Arial">     </font><font face="Arial"><font size="2" face="Arial">But beyond untethering devices by replacing     the cables, Bluetooth radio technology provides a universal bridge to     existing data networks, a peripheral interface, and a mechanism to form     small private ad hoc groupings of connected devices away from fixed network     infrastructures. Designed to operate in a noisy radio frequency environment,     the Bluetooth radio uses a fast acknowledgment and frequency hopping scheme     to make the link robust. Bluetooth radio modules avoid interference from     other signals by hopping to a new frequency after transmitting or receiving     a packet. Compared with other systems operating in the same frequency band,     the Bluetooth radio typically hops faster and uses shorter packets. This     makes the Bluetooth radio more robust than other systems. Short packages and     fast hopping also limit the impact of domestic and professional microwave     ovens. Use of Forward Error Correction (FEC) limits the impact of random     noise on long-distance links. The encoding is optimized for an uncoordinated     environment.</font></font></p>
<p><font face="Arial">    </font><font face="Arial"><font size="2" face="Arial">Bluetooth guarantees security at the bit     level. Authentication is controlled by the user by using a 128 bit key.     Radio signals can be coded with 8 bits or anything upto 128 bits. The     Bluetooth radio transmissions will conform to the safety standards required     by the countries where the technology will be used with respect to the     affects of radio transmissions on the human body. Emissions from Bluetooth     enabled devices will be no greater than emissions from industry-standard     cordless phones. The Bluetooth module will not interfere or cause harm to     public or private telecommunications network.</font></font></p>
<p><font face="Arial">    </font><font face="Arial"><font size="2" face="Arial">The Bluetooth baseband protocol is a     combination of circuit and packet switching. Slots can be reserved for     synchronous packets. Each packet is transmitted in a different hop     frequency. A packet nominally covers a single slot, but can be extended to     cover up to five slots. Bluetooth can support an asynchronous data channel,     up to three simultaneous synchronous voice channels, or a channel, which     simultaneously supports asynchronous data and synchronous voice. It is thus     possible to transfer the date asynchronously whilst at the same time talking     synchronously at the same time. Each voice channel supports 64 kb/s     synchronous (voice) link. The asynchronous channel can support an asymmetric     link of maximally 721 kb/s in either direction while permitting 57.6 kb/s in     the return direction, or a 432.6 kb/s symmetric link.</font></font></p>
<p><font face="Arial">    </font><strong><font size="2" face="Arial">Modes of operation</font></strong><font face="Arial"><font size="2" face="Arial"><br />
An interesting aspect of     the technology is the instant formation of networks once the bluetooth     devices come in range to each other. A piconet is a collection of devices     connected via Bluetooth technology in an ad hoc fashion. A Piconet can be a     simple connection between two devices or more than two devices. Multiple     independent and non-synchronized piconets can form a scatternet. Any of the     devices in a piconet can also be a member of another by means of time     multiplexing. i.e a device can be a part of more than one piconet by     suitably sharing the time. The Bluetooth system supports both point-to-point     and point-to-multi-point connections. When a device is connected to another     device it is a point to point connection. If it is connected to more that     one (upto 7 ) it is a point to multipoint connection. Several piconets can     be established and linked together ad hoc, where each piconet is identified     by a different frequency hopping sequence. All users participating on the     same piconet are synchronized to this hopping sequence. If a device is     connected to more than one piconet it communicates in each piconet using a     different hopping sequence. A piconet starts with two connected devices,     such as a portable PC and cellular phone, and may grow to eight connected     devices. All Bluetooth devices are peer units and have identical     implementations. However, when establishing a piconet, one unit will act as     a master and the other(s) as slave(s) for the duration of the piconet     connection. In a piconet there is a master unit whose clock and hopping     sequence are used to synchronize all other devices in the piconet. All the     other devices in a piconet that are not the master are slave units. A 3-bit     MAC address is used to distinguish between units participating in the     piconet. Devices synchronized to a piconet can enter power-saving modes     called Sniff and hold mode, in which device activity is lowered. Also there     can be parked units which are synchronized but do not have a MAC addresses.     These parked units have a 8 bit address, therefore there can be a maximum of     256 parked devices.</font></font></p>
<p><font face="Arial">    </font><font size="2" /></p>
<p align="center"><font size="2"><font size="2"><font size="2" face="Arial"><img width="407" height="236" border="0" align="left" src="http://www.mobileinfo.com/Bluetooth/images/tech.h1.gif" /></font></font></font></p>
<p><font size="2"><font face="Arial"><font size="2" face="Arial">Voice channels use either a 64 kbps log PCM     or the Continuous Variable Slope Delta Modulation (CVSD) voice coding     scheme, and never retransmit voice packets. The voice quality on the line     interface should be better than or equal to the 64 kbps log PCM. The CVSD     method was chosen for its robustness in handling dropped and damaged voice     samples. Rising interference levels are experienced as increased background     noise: even at bit error rates up 4%, the CVSD coded voice is quite audible.</font></font> </font></p>
]]></content:encoded>
			<wfw:commentRss>http://giladlotan.com/blog/2006/11/bluetooth-research-for-ubiach/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mobile Apps Lesson 7</title>
		<link>http://giladlotan.com/blog/2006/10/mobile-apps-lesson-7/</link>
		<comments>http://giladlotan.com/blog/2006/10/mobile-apps-lesson-7/#comments</comments>
		<pubDate>Fri, 20 Oct 2006 00:59:41 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[Mobile App Design]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://giladlotan.com/blog/?p=44</guid>
		<description><![CDATA[<p>jar -xvf   *.jar   (command to extract the info from the jar file, unless it is obfuscated)</p>
<p>Obfuscation = seal your code.</p>
<p>Look at over-the-air deployment (wiki entry &#8211; deploy)</p>
<p>for the alert() function, the second variable is the following screen to go to (once &#8216;enter&#8217; is hit)</p>
<p>file connection API &#8211; to use the device&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>jar -xvf   *.jar   (command to extract the info from the jar file, unless it is obfuscated)</p>
<p>Obfuscation = seal your code.</p>
<p>Look at over-the-air deployment (wiki entry &#8211; deploy)</p>
<p>for the alert() function, the second variable is the following screen to go to (once &#8216;enter&#8217; is hit)</p>
<p>file connection API &#8211; to use the device&#8217;s file space</p>
<p>vector is dynamically sizeable &#8211; can change the size</p>
<p>RMS (memory) &#8211; javax.microedition.rms.RecordStoreException;</p>
]]></content:encoded>
			<wfw:commentRss>http://giladlotan.com/blog/2006/10/mobile-apps-lesson-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mobile Apps Lesson #6</title>
		<link>http://giladlotan.com/blog/2006/10/mobile-apps-lesson-6/</link>
		<comments>http://giladlotan.com/blog/2006/10/mobile-apps-lesson-6/#comments</comments>
		<pubDate>Fri, 13 Oct 2006 01:07:08 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[Mobile App Design]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://giladlotan.com/blog/?p=36</guid>
		<description><![CDATA[<p>OCR &#8211; Optical Character Recognition</p>
<p>scanR - 3 main features:</p>

whiteboard (take a picture of the whiteboard, and send by MMS to the service), they convert your image into .pdf text and send it back.
send them any image, and they translate it back into text for you.
take a picture of a business card, and they send it [...]]]></description>
			<content:encoded><![CDATA[<p><strong>OCR &#8211; Optical Character Recognition</strong></p>
<p><a href="http://scanr.com">scanR </a>- 3 main features:</p>
<ul>
<li>whiteboard (take a picture of the whiteboard, and send by MMS to the service), they convert your image into .pdf text and send it back.</li>
<li>send them any image, and they translate it back into text for you.</li>
<li>take a picture of a business card, and they send it back to you using a microsoft outlook contact file.</li>
</ul>
<p><a href="http://nthrum.com">nThrum </a>- Use your phone to take a photo of any object, then you can use this service as a n image search engine, where you can retrieve information regarding that image (Optical Recognition).</p>
<p><a href="http://jocr.sourceforge.net">GOCR </a>- OS OCR project</p>
<p><strong>XML</strong></p>
<p>Important to validate the feed you&#8217;re going to parse (Check the W3 site)</p>
<p><strong>LOCATION</strong></p>
<p>JSR-179 &#8211; Location API (can&#8217;t use in the US)</p>
<p>Better to use the OEM specific code</p>
<p><a href="http://conferences.oreillynet.com/cs/et2004/view/e_sess/4657">35 ways to find your location </a></p>
<p>(look into the geowanking mailinglist)</p>
<p>sirf III &#8211; GPS bluetooth device. Long battery life. ($100)</p>
<p>look at <a href="http://ask.com">ask.com</a> for free services</p>
<p>Look at TIGER / Line data</p>
<p>to use GPS, need to use the iDen Library (OEM libraries by motorola)</p>
]]></content:encoded>
			<wfw:commentRss>http://giladlotan.com/blog/2006/10/mobile-apps-lesson-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>October 4th Lesson, Mobile Apps.</title>
		<link>http://giladlotan.com/blog/2006/10/october-4th-lesson-mobile-apps/</link>
		<comments>http://giladlotan.com/blog/2006/10/october-4th-lesson-mobile-apps/#comments</comments>
		<pubDate>Thu, 05 Oct 2006 23:48:11 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[Mobile App Design]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://giladlotan.com/blog/?p=32</guid>
		<description><![CDATA[<p>Context Watcher &#8211; Python based application &#8211; supposedly transmits information about your location, mood, etc&#8230; The app learns about your behaviour. It interfaces with body sensors. Location based (calculates the weather). Scans barcodes of books.</p>
<p>Look at the .jad details extensively (links from two weeks ago: link1, link2).</p>
<p>kxml &#8211; very small xml parsing library</p>
<p>look for existing [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.lab.telin.nl/~koolwaaij/showcase/crf/cw.html">Context Watcher</a> &#8211; Python based application &#8211; supposedly transmits information about your location, mood, etc&#8230; The app learns about your behaviour. It interfaces with body sensors. Location based (calculates the weather). Scans barcodes of books.</p>
<p>Look at the .jad details extensively (links from two weeks ago: <a href="http://eclipseme.org/docs/jadeditor.html">link1</a>, <a href="http://www.onjava.com/lpt/a/793">link2</a>).</p>
<p>kxml &#8211; very small xml parsing library</p>
<p>look for existing java code for URL encoding (google code search)</p>
<p>read about <a href="http://en.wikipedia.org/wiki/IMEI">IMEI </a></p>
<p><strong>XML</strong></p>
<p><a href="http://kxml.sourceforge.net">kXML</a> -</p>
<p><a href="http://nanoxml.cyberelf.be">NanoXML</a> -</p>
<p><strong>Jesse Boyes</strong></p>
<p>games API &#8211; <a href="http://tlbs.us/gameapi">http://tlbs.us/gameapi</a></p>
<p>data sprites for moving images &#8211; lots of sprites stored in one image (different points of views) => can put them together to create an animation</p>
<p>sites for <strong>sprites</strong>:</p>
<p>http://www.videogamesprites.net</p>
<p>http://www.spriteaholic.com</p>
<p>http://www.gsarchives.net</p>
<p>http:/www.panelmonkey.org</p>
<p>http://www.sprites-inc.co.uk</p>
<p><a href="http://giladlotan.com/blog/javax.microedition.lcdui.game">javax.microedition.lcdui.game</a> (Java ME Game API)</p>
<p>=> Sprite, TiledLayer (it handles the collision-management itself)</p>
<p>Using Parallax -> move different background layers at different speeds in order to get the notion of depth.</p>
<p><a href="http://jexe.net/gt.jad">http://jexe.net/gt.jad</a> (his game)</p>
]]></content:encoded>
			<wfw:commentRss>http://giladlotan.com/blog/2006/10/october-4th-lesson-mobile-apps/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>week 4 assignment &#8211; Translator</title>
		<link>http://giladlotan.com/blog/2006/10/week-4-assignment-translator/</link>
		<comments>http://giladlotan.com/blog/2006/10/week-4-assignment-translator/#comments</comments>
		<pubDate>Thu, 05 Oct 2006 17:02:05 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[Mobile App Design]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://giladlotan.com/blog/?p=31</guid>
		<description><![CDATA[<p>I&#8217;ve started working on a web translator. The app (currently) takes only one input word, and then uses a free web service to get a translation from english to a chosen language (french works well&#8230; some others still not that well due to types of character coding). Here are the current files. Still quite unstable&#8230;</p>
<p></p>

<p></p>
<p></p>

<p>
</p>

<p></p>
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve started working on a web translator. The app (currently) takes only one input word, and then uses a free web service to get a translation from english to a chosen language (french works well&#8230; some others still not that well due to types of character coding). Here are the current files. Still quite unstable&#8230;</p>
<p><a class="imagelink" title="First you need to enter a word" href="http://giladlotan.com/blog/wp-content/uploads/2006/10/translator1.jpg"></p>
<div style="text-align: center"><img width="243" height="479" id="image28" alt="First you need to enter a word" src="http://giladlotan.com/blog/wp-content/uploads/2006/10/translator1.jpg" /></div>
<p></a></p>
<p><a class="imagelink" title="then, you get your translated word back!" href="http://giladlotan.com/blog/wp-content/uploads/2006/10/translator3.jpg" /><a class="imagelink" title="then you need to choose a language to translate to" href="http://giladlotan.com/blog/wp-content/uploads/2006/10/translator2.jpg"></p>
<div style="text-align: center"><img width="244" height="490" id="image29" alt="then you need to choose a language to translate to" src="http://giladlotan.com/blog/wp-content/uploads/2006/10/translator2.jpg" /></div>
<p></a><br />
<a class="imagelink" title="then, you get your translated word back!" href="http://giladlotan.com/blog/wp-content/uploads/2006/10/translator3.jpg"></p>
<div style="text-align: center"><img width="246" height="508" id="image30" alt="then, you get your translated word back!" src="http://giladlotan.com/blog/wp-content/uploads/2006/10/translator3.jpg" /></div>
<p></a></p>
]]></content:encoded>
			<wfw:commentRss>http://giladlotan.com/blog/2006/10/week-4-assignment-translator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mobile Apps &#8211; Learning HTTP in J2ME</title>
		<link>http://giladlotan.com/blog/2006/10/mobile-apps-learning-http-in-j2me/</link>
		<comments>http://giladlotan.com/blog/2006/10/mobile-apps-learning-http-in-j2me/#comments</comments>
		<pubDate>Thu, 05 Oct 2006 03:09:27 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[ITP]]></category>
		<category><![CDATA[Mobile App Design]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://giladlotan.com/blog/?p=27</guid>
		<description><![CDATA[<p>Generic Connections</p>
<p>In the CLDC Generic Connection framework, all connections are created using the open static method from the Connector class. If successful, this method returns an object that implements one of the generic connection interfaces. Figure 1 shows how these interfaces form an is-a hierarchy. The Connection interface is the base interface such that StreamConnectionNotifier [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Generic Connections</strong></p>
<p>In the CLDC Generic Connection framework, all connections are created using the <code>open</code> static method from the <code>Connector</code> class. If successful, this method returns an object that implements one of the generic connection interfaces. Figure 1 shows how these interfaces form an <em>is-a</em> hierarchy. The <code>Connection</code> interface is the base interface such that <code>StreamConnectionNotifier</code> <em>is a</em> <code>Connection</code> and <code>InputConnection</code> <em>is a</em> <code>Connection</code> too.</p>
<p><!-- image --></p>
<p><center> <img width="435" height="357" alt="fig1.gif" src="http://developers.sun.com/techtopics/mobility/images/network_fig1.gif" /><br />
<span class="rtbtitle">Figure 1: Connection interface hierarchy</span> </center> <!-- end image --></p>
<ul>
<li>The <code>Connection</code> interface is the most basic connection type. It can only be opened and closed.</li>
<li>The <code>InputConnection</code> interface represents a device from which data can be read. Its <code>openInputStream</code> method returns an input stream for the connection.</li>
<li>The <code>OuputConnection</code> interface represents a device to which data can be written. Its <code>openOutputStream</code> method returns an output stream for the connection.</li>
<li>The <code>StreamConnection</code> interface combines the input and output connections.</li>
<li>The <code>ContentConnection</code> is a subinterface of <code>StreamConnection</code>. It provides access to some of the basic meta data information provided by HTTP connections.</li>
<li>The <code>StreamConnectionNotified</code> waits for a connection to be established. It returns a <code>StreamConnection</code> on which a communication link has ben established.</li>
<li>The <code>DatagramConnection</code> represents a datagram endpoint.</li>
</ul>
<p>Here are a few examples:</p>
<p><strong>HTTP Connection</strong></p>
<blockquote><p><!-- BEGIN VCD7 CODE SAMPLE COMPONENT  --></p>
<table width="100%" cellspacing="0" cellpadding="10" border="0" class="grey4">
<tr>
<td>
<pre>Connector.open("http://java.sun.com/developer");</pre>
</td>
</tr>
</table>
<p><span class="sp20"> </span><br />
<!-- END VCD7 CODE SAMPLE COMPONENT  --></p></blockquote>
<p><strong>Datagram Connection</strong></p>
<blockquote><p><!-- BEGIN VCD7 CODE SAMPLE COMPONENT  --></p>
<table width="100%" cellspacing="0" cellpadding="10" border="0" class="grey4">
<tr>
<td>
<pre>Connector.open("datagram://address:port#");</pre>
</td>
</tr>
</table>
<p><span class="sp20"> </span><br />
<!-- END VCD7 CODE SAMPLE COMPONENT  --></p></blockquote>
<p><strong>Communicate with a Port</strong></p>
<blockquote><p><!-- BEGIN VCD7 CODE SAMPLE COMPONENT  --></p>
<table width="100%" cellspacing="0" cellpadding="10" border="0" class="grey4">
<tr>
<td>
<pre>Connector.open("comm:0;baudrate=9600');</pre>
</td>
</tr>
</table>
<p><span class="sp20"> </span><br />
<!-- END VCD7 CODE SAMPLE COMPONENT  --></p></blockquote>
<p><strong>Open Files</strong></p>
<p><!-- BEGIN VCD7 CODE SAMPLE COMPONENT  --></p>
<table width="556" cellspacing="0" cellpadding="10" border="0" class="grey4" style="height: 46px">
<tr>
<td>
<pre>Connector.open("file:/myFile.txt");</pre>
</td>
</tr>
</table>
<p><span class="sp20"> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://giladlotan.com/blog/2006/10/mobile-apps-learning-http-in-j2me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
