勝利のお父さんストラップをもらってきました。

当選の連絡はすでに受けていた、ソフトバンクホークス リーグ優勝記念の勝利のお父さんストラップですが、
受取予定のお店へ入荷したとのメールが来ましたので、もらってきました。

iPhoneを買ったときでもお父さんグッズは何ももらえなかったので、はじめてのお父さんストラップです。

かわいいです。

お腹のあたりを押すと、お父さんがしゃべってくれます。

セリフは何種類かあるみたいです。

その様子をビデオに撮ってみたので、貼っておきます。
ちなみに撮影はiPhone4で行いました。

最近落としてよかったと思うアプリ2つ

最近落としてよかったアプリを2つご紹介します。

1.

音楽ファイルをmspotの提供するクラウドストレージに保存して、iPhoneアプリでストリーミングして聴くことができるアプリ。
iPhoneでは、限りある容量を有効に使いたいので、厳選された音楽しか入れていません。
Byte数でいうと2GBくらい。
ただ、それ以外でもたまーに聞きたくなる曲とかがあるのが悩みだったんですけど、いいアプリがありました。
mspotは2GBまで無料なので、ぼくの場合でいうとiPhoneで聞ける曲数が倍になる感じです。
アプリ内に曲データをキャッシュすることもできるみたいですが、上記の理由によりぼくはオフにしています。
ストリーミングオンリーで3G回線で試してみましたが、読み込みもかなり早く十分実用に耐えるものでした。
ただ、圏外では使えないですけどねw

mSpot Music 1.0.9(無料) for iPhone

iPhone、iPod touch および iPad 互換 iOS 4.0 以降が必要

mSpot Music 1.0.9
カテゴリ: ミュージック
価格: 無料 App
更新: 2010/12/21

imagesimages

2.

NHKアニメ「やさいのようせい」のiPhoneアプリです。
5分程度のアニメなんですけど、TVつけた時にやっていると、ついつい見て癒されてました。
DVD買ったり、わざわざ見るためにTVの前で正座して待つほどではないですけど、
結構ファンだったのでapp storeで発見して思わずポチッ。
癒されます(●°ᆺ°●)

知りたがりや 1.0(¥115) for iPhone

iPhone 3GS、iPhone 4、iPod touch(第3世代)、iPod touch (4th generation) および iPad 互換 iOS 4.0 以降が必要

知りたがりや 1.0
カテゴリ: ゲーム
価格: ¥115 App
リリース: 2010/12/14

imagesimages

購入済みiPhoneアプリ一覧をつくって、安心して再ダウンロードできるようにしてみたよ(アイコンなしリスト版)

前回の記事では、アイコン付きのアプリ一覧を作成しましたが、やはり重すぎたので、自分用にアイコンを除いた文字だけのリストを作成しました。
さらに、何かの役にたつんじゃないかとカテゴリ名もいれておきました。

WEBにアップロードして、Safariでみるとこんな感じです。

読み込みも早いし、サクサク動きます。

もちろん、前回と同じようにDropboxに入れても使えますが、WEBにアップしてサファリで見るメリットとしては、Safariのページ内検索でサクっと検索できるところです。

例えば、appbankで検索するとこんな漢字でハイライトしてくれます。

便利。

さて、CustomHTMLソースを以下に貼りつけておきますが、ご了承いただきたい点が一つあります。

なにぶん、cssとか全然わからないもので、とりあえず動けばいいや的に、ipaBacklistでHTMLで出力する際に自動で生成されるiphone.cssから全てぶち込んでますw

そのため、不必要なものもかなりの数(というか、ほとんど必要ないはず。。。)入ってます。

iphone.cssをそのまま使えばいいんですけど、ファイルは一つにまとめたかった上に、知識が不足してこんなことになっています。。。

分かる人は適当に修正してくださいm(_ _)m
時間ができたらぼくもわかりやすく修正できるよう勉強します。。。

使い方は、前回書いたのと同様、作者さんのブログを参考にしてみてください。
Custom HTMLの使い方(ipaBacklist): ROBOMIC(ブログ)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta id="viewport" name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
<title>Applications</title>

<ipaBacklist>
<!--
htmlencode {no}
applist {
<li><a href="[[[AppStore]]]:&title=[[[AppNameOniPhone]]]"> [[[AppNameOniPhone]]] </a>[[[Category]]] [[[FileSize]]]</li>
}
replace {<h1>} to {<h4>}
replace {</h1>} to {</h4>}
}
-->
</ipaBacklist>

<style type="text/css">  
<!-- 
	body {
		background: rgb(197,204,211) url(../images/stripes.png);
		font-family: Helvetica;
		margin: 0 0 0 10px;
		padding: 0;
		-webkit-user-select: text;
		-webkit-text-size-adjust: none;
		}
		


		/* standard header on body */
		
		div#header + h1, ul + h1 {
			color: rgb(76,86,108);
			font: bold 18px Helvetica;
			text-shadow: #fff 0 1px 0;
			margin: 15px 0 0 10px;  
			}
		


		/* standard paragraph on body */
		
		ul + p, ul.data + p + p, ul.form + p + p {
			color: rgb(76,86,108);
			font: 14px Helvetica;
			text-align: center;
			text-shadow: white 0 1px 0;
			margin: 0 10px 17px 0;
			}

		
		/* headers */

		div#header {
			background: rgb(109,133,163) url(../images/bgHeader.png) repeat-x top;
			border-top: 1px solid rgb(205,213,223);
			border-bottom: 1px solid rgb(46,55,68);
			padding: 10px;
			margin: 0 0 0 -10px;
			min-height: 44px;
			-webkit-box-sizing: border-box;
			}


				div#header h1 {
					color: #fff;
					font: bold 20px/30px Helvetica;
					text-shadow: #2d3642 0 -1px 0;
					text-align: center;
					text-overflow: ellipsis;
					white-space: nowrap;
					overflow: hidden;
					width: 49%;
					padding: 5px 0;
					margin: 2px 0 0 -24%;
					position: absolute;
					top: 0;
					left: 50%;
					}

					div#header a {
						color: #FFF;
						background: none;
						font: bold 12px/30px Helvetica;
						border-width: 0 5px;
						margin: 0;
						padding: 0 3px;
						width: auto;
						height: 30px;
						text-shadow: rgb(46,55,68) 0 -1px 0;
						text-overflow: ellipsis;
						text-decoration: none;
						white-space: nowrap;
						position: absolute;
						overflow: hidden;
						top: 7px;
						right: 6px;
						-webkit-border-image: url(../images/toolButton.png) 0 5 0 5;
						}

						div#header #backButton {
							left: 6px;
							right: auto;
							padding: 0;
							max-width: 55px;
							border-width: 0 8px 0 14px;
							-webkit-border-image: url(../images/backButton.png) 0 8 0 14;
							}


						.Action {
							border-width: 0 5px;
							-webkit-border-image: url(../images/actionButton.png) 0 5 0 5;
						}


						
						div#header ul {
							margin-top: 15px;
						}
						
						div#header p {
							color: rgb(60,70,80);
							font-weight: bold;
							font-size: 13px;
							text-align: center;
							clear: both;
							position: absolute;
							top: 4px;
							left: 35px;
							right: 35px;
							margin: 0;
							text-shadow: #C0CBDB 0 1px 0;
							text-overflow: ellipsis;
							white-space: nowrap;
							overflow: hidden;
						}
						
						div.pre {
							height: 60px;
							}


							div.pre h1 {
								top: 18px !important;
								}
								
							div.pre a {
								top: 25px !important;
								right: 6px;
								}
								
							div.pre a#Backbutton {
								left: 6px !important;
							}	
								
								
								
		
		
		/***** List (base) ******/
		
		ul {
			color: black;
			background: #fff;
			border: 1px solid #B4B4B4;
			font: bold 12px Helvetica;
			padding: 0;	   
			margin: 15px 10px 17px 0;
			-webkit-border-radius: 8px;
			}
		
		
			ul li {
				color: #666;
				border-top: 1px solid #B4B4B4;
				list-style-type: none;	
				padding: 10px 10px 10px 10px;
				}
				

				
				/* when you have a first LI item on any list */
				
				li:first-child {	
					border-top: 0;
					-webkit-border-top-left-radius: 8px;
					-webkit-border-top-right-radius: 8px;
					}

				li:last-child {	
					-webkit-border-bottom-left-radius: 8px;
					-webkit-border-bottom-right-radius: 8px;
					}
					
					
				/* universal arrows */
				
				ul li.arrow {
					background-image: url(../images/chevron.png);
					background-position: right center;
					background-repeat: no-repeat;
					}
					
					
				#plastic ul li.arrow, #metal ul li.arrow {
					background-image: url(../images/chevron_dg.png);
					background-position: right center;
					background-repeat: no-repeat;
					}
					
									
				
				/* universal links on list */
				
				ul li a, li.img a + a {
					color: #000;
					text-decoration: none;
					text-overflow: ellipsis;
					white-space: nowrap;
					overflow: hidden;
					display: block;
					padding: 12px 10px 12px 10px;
					margin: -10px;
					-webkit-tap-highlight-color:rgba(0,0,0,0);
				}
				
					ul li.img a + a {
						margin: -10px 10px -20px -5px;
						font-size: 17px;
						font-weight: bold;
					}
					
					ul li.img a + a + a {
							font-size: 14px;
							font-weight: normal;
							margin-left: -10px;
							margin-bottom: -10px;
							margin-top: 0;
						}
						
						
						ul li.img a + small + a {
							margin-left: -5px;
						}
						
						
						ul li.img a + small + a + a {
							margin-left: -10px;
							margin-top: -20px;
							margin-bottom: -10px;
							font-size: 14px;
							font-weight: normal;
							}
							
							ul li.img a + small + a + a + a {
								margin-left: 0px !important;
								margin-bottom: 0;
							}
				
				
					ul li a + a {
						color: #000;
						font: 14px Helvetica;
						text-overflow: ellipsis;
						white-space: nowrap;
						overflow: hidden;
						display: block;
						margin: 0;
						padding: 0;
						}
						
						ul li a + a + a, ul li.img a + a + a + a, ul li.img a + small + a + a + a {
							color: #666;
							font: 13px Helvetica;
							margin: 0;
							text-overflow: ellipsis;
							white-space: nowrap;
							overflow: hidden;
							display: block;
							padding: 0;
						}
						
						
					
		
		
				/* standard mini-label */
				
				ul li small {
					color: #369;
					font: 17px Helvetica;
					text-align: right;
					text-overflow: ellipsis;
					white-space: nowrap;
					overflow: hidden;
					display: block;
					width: 23%;
					float: right;
					padding: 3px 0px;
					}
					
					
					
					ul li.arrow small {
						padding: 0 15px;
					}
					
					ul li small.counter {
						font-size: 17px !important;
						line-height: 13px !important;
						font-weight: bold;
						background: rgb(154,159,170);
						color: #fff;
						-webkit-border-radius: 11px;
						padding: 4px 10px 5px 10px;
						display: inline !important;
						width: auto;
						margin-top: 2px;
					}
					
					
					ul li.arrow small.counter {
						margin-right: 15px;
					}
					
					
					
	
					/* resize without labels */
					
					ul li.arrow a {
						width: 95%;
						}
					
						/* with labels */
						
						ul li small + a {
							width: 75%;
						}
						
						ul li.arrow small + a {
							width: 70%;
						}
						
		
		
		/* images */
		
			ul li.img {
				padding-left: 115px;
			}
		
			ul li.img a.img {
				background: url(../images/standard-img.png) no-repeat;
				display: inline-block;
				width: 100px;
				height: 75px;
				margin: -10px 0 -20px -115px;
				float: left;
			}
		
		
		
		/* individuals */
		
		
		
			ul.individual {
				border: 0;
				background: none;
				clear: both;
				height: 45px;
			}
			
				ul.individual li {
					color: rgb(183,190,205);
					background: white;
					border: 1px solid rgb(180,180,180);
					font-size: 14px;
					text-align: center;
					-webkit-border-radius: 8px;
					-webkit-box-sizing: border-box;
					width: 48%;
					float:left;
					display: block;
					padding: 11px 10px 14px 10px;
					}
				
					ul.individual li + li {
						float: right;
						
					}
					
					
					ul.individual li a {
						color: rgb(50,79,133);
						line-height: 16px;
						margin: -11px -10px -14px -10px;
						padding: 11px 10px 14px 10px;
						-webkit-border-radius: 8px;
					}
					
						ul.individual li a:hover {
							color: #fff;
							background: #36c;
							}
							
							
							
							
							/* Normal lists and metal */

							body#normal h4 {
								color: #fff;
								background: rgb(154,159,170) url(../images/bglight.png) top left repeat-x;
								border-top: 1px solid rgb(165,177,186);
								text-shadow: #666 0 1px 0;
								margin: 0;
								padding: 2px 10px;
							}


							body#normal, body#metal {
								margin: 0;
								padding: 0;
								background-color: rgb(255,255,255);
							}

							body#normal ul, body#metal ul, body#plastic ul {
								-webkit-border-radius: 0;
								margin: 0;
								border-left: 0;
								border-right: 0;
								border-top: 0;
								}

								body#metal ul {
									border-top: 0;
									border-bottom: 0;
									background: rgb(180,180,180);
								}




								body#normal ul li {
									font-size: 20px;
								}

									body#normal ul li small {
										font-size: 16px;
										line-height: 28px;
									}

									body#normal li, body#metal li {
										-webkit-border-radius: 0;
										}

									body#normal li em {
										font-weight: normal;
										font-style: normal;
										}

								body#normal h4 + ul {
									border-top: 1px solid rgb(152,158,164);
									border-bottom: 1px solid rgb(113,125,133);
								}


								body#metal ul li {
									border-top: 1px solid rgb(238,238,238);
									border-bottom: 1px solid rgb(156,158,165);
									background: url(../images/bgMetal.png) top left repeat-x;
									font-size: 26px;
									text-shadow: #fff 0 1px 0;
									}

									body#metal ul li a {
										line-height: 26px;
										margin: 0;
										padding: 13px 0;
									}

										body#metal ul li a:hover {
											color: rgb(0,0,0);
										}	

											body#metal ul li:hover small {
												color: inherit;
											}


									body#metal ul li a em {
										display: block;
										font-size: 14px;
										font-style: normal;
										color: #444;
										width: 50%;
										line-height: 14px;
									}

									body#metal ul li small {
										float: right;
										position: relative;
										margin-top: 10px;
										font-weight: bold;
										}


										body#metal ul li.arrow a small {
											padding-right: 0;
											line-height: 17px;
										}
										
										
										body#metal ul li.arrow {
											background: url(../images/bgMetal.png) top left repeat-x,
											url(../images/chevron_dg.png) right center no-repeat;
										}
										
										
																
										/* option panel */

											div#optionpanel {
												background: url(../images/blackbg.png) top left repeat-x;
												text-align: center;
												padding: 20px 10px 15px 10px;
												position: absolute;
												left: 0;
												right: 0;
												bottom: 0;		
												}

												div#optionpanel h2 {
													font-size: 17px;
													color: #fff;
													text-shadow: #000 0 1px 0;
												}
												
												
										
										
										
										/***** BUTTONS *****/

										.button {
											color: #fff;
											font: bold 20px/46px Helvetica;
											text-decoration: none;
											text-align: center;
											text-shadow: #000 0 1px 0;
											border-width: 0px 14px 0px 14px;
											display: block;
											margin: 3px 0;
											}

											.green { -webkit-border-image: url(../images/greenButton.png) 0 14 0 14; }
											.red { -webkit-border-image: url(../images/redButton.png) 0 14 0 14; }

											.white {
												color: #000;
												text-shadow: #fff 0px 1px 0;
												-webkit-border-image: url(../images/whiteButton.png) 0 14 0 14;
												}

											.black { -webkit-border-image: url(../images/grayButton.png) 0 14 0 14; }
											
											
/***** FORMS *****/

/* fields list */
		
		ul.form {
			
		}
		
			ul.form li {
				padding: 7px 10px;
			}
			
			ul.form li.error { border: 2px solid red; }			
			ul.form li.error + li.error { border-top: 0; }
			
			ul.form li:hover { background: #fff; }
		
			ul li input[type="text"], ul li input[type="password"], ul li textarea, ul li select {
				color: #777;
				background: #fff url(../.png); /* this is a hack due the default input shadow that iphones uses on textfields */
				border: 0;				
				font: normal 17px Helvetica;
				padding: 0;
				display: inline-block;
				margin-left: 0px;
				width: 100%;
				-webkit-appearance: textarea;
				}
						
				ul li textarea {
					height: 120px;
					padding: 0;
					text-indent: -2px;
				}
				
				ul li select {
					text-indent: 0px;
					background: transparent url(../images/chevron.png) no-repeat 103% 3px;
					-webkit-appearance: textfield;
					margin-left: -6px;
					width: 104%;
				}
				
				ul li input[type="checkbox"], ul li input[type="radio"] {
					margin: 0;
					color: rgb(50,79,133);
					padding: 10px 10px;
					}
				
				ul li input[type="checkbox"]:after, ul li input[type="radio"]:after {
					content: attr(title);
					font: 17px Helvetica;
					display: block;
					width: 246px;
					margin: -12px 0 0 17px;
					}
					
					
					
					/**** INFORMATION FIELDS ****/

					ul.data li h4 {
						margin: 10px 0 5px 0;
					}

						ul.data li p {
							text-align: left;
							font-size: 14px;
							line-height: 18px;
							font-weight: normal;
							margin: 0;
							}
							
							ul.data li p + p { margin-top: 10px; }
							

							ul.data li {
								background: none;
								padding: 15px 10px;
								color: #222;
							}

							ul.data li a {
								display: inline;
								color: #2E3744;
								text-decoration: underline;
							}
							
							
							ul.field li small {
								position: absolute;
								right: 25px;
								margin-top: 3px;
								z-index: 3;
							}
					
							ul.field li h3 {
								color: rgb(76,86,108);
								width: 25%;
								font-size: 13px;
								line-height: 18px;
								margin: 0 10px 0 0;
								float: left;
								text-align: right;
								overflow: hidden;
								text-overflow: ellipsis;
								white-space: nowrap;
								padding: 0;
								}
							
								ul.field li a {
									font-size: 13px;
									line-height: 18px;
									overflow: visible;
									white-space: normal;
									display: inline-block;
									width: 60%;
									padding: 0;
									margin: 0 0 0 0;
									vertical-align: top;
									}
									
								ul.field li big {
									font-size: 13px;
									line-height: 18px;
									font-weight: normal;
									overflow: visible;
									white-space: normal;
									display: inline-block;
									width: 60%;
									}
									
									
									
									
									
																
								ul.field li small {
									font-size: 13px;
									font-weight: bold;
								}
							
						
						/* this is for profiling */
							
						ul.profile {
							border: 0;
							background: none;
							clear: both;
							min-height: 62px;
							position: relative;
							}
							
							ul.profile li {
								background: #fff url(../images/profile-user.png) no-repeat;
								border: 1px solid #B4B4B4;
								width: 62px;
								height: 62px;
								-webkit-border-radius: 4px;
								-webkit-box-sizing: border-box;
								float: left;
								}
							
							ul.profile li + li {
								border: 0;
								background: none;
								width: 70%;
								}
								
							
								ul.profile li + li h2, ul.profile li + li p {
									color: rgb(46,55,68);
									text-shadow: #fff 0 1px 0;
									margin: 0;
								}
								
								ul.profile li + li h2 {
									font: bold 18px/22px Helvetica;
									text-overflow: ellipsis;
									white-space: nowrap;
									overflow: hidden;
									}
									
								ul.profile li + li p {
									font: 14px/18px Helvetica;
									text-overflow: ellipsis;
									white-space: nowrap;
									overflow: hidden;
									}
								
								
								/* any A element inside this kind of field list will scale 62x62 */
								
								ul.profile li a {
									display: block;
									width: 62px;
									height: 62px;
									color: transparent;
								}
									


	/***** PLASTIC LISTS *****/
	
	body#plastic {
		margin: 0;
		padding: 0;
		background: rgb(173,173,173);
	}

	body#plastic ul {
		-webkit-border-radius: 0;
		margin: 0;
		border-left: 0;
		border-right: 0;
		border-top: 0;
		background-color: rgb(173,173,173);
		}
		
		
		body#plastic ul li {
			-webkit-border-radius: 0;
			border-top: 1px solid rgb(191,191,191);
			border-bottom: 1px solid rgb(157,157,157);
		}
		
		
			body#plastic ul li:nth-child(odd) {
				background-color: rgb(152,152,152);
				border-top: 1px solid rgb(181,181,181);
				border-bottom: 1px solid rgb(138,138,138);
			}
		
		
		body#plastic ul + p {
			font-size: 11px;
			color: #2f3237;
			text-shadow: none;
			padding: 10px 10px;		
			}
			
			body#plastic ul + p strong {
				font-size: 14px;
				line-height: 18px;
				text-shadow: #fff 0 1px 0;
			}
			
			body#plastic ul li a {
				text-shadow: rgb(211,211,211) 0 1px 0;
			}
			
			body#plastic ul li:nth-child(odd) a {
				text-shadow: rgb(191,191,191) 0 1px 0;
			}
			
			
			body#plastic ul li small {
				color: #3C3C3C;
				text-shadow: rgb(211,211,211) 0 1px 0;
				font-size: 13px;
				font-weight: bold;
				text-transform: uppercase;
				line-height: 24px;
				}
				
				
				
	/**** MINI & BIG BANNERS ****/
	
			#plastic ul.minibanner, #plastic ul.bigbanner {
				margin: 10px;
				border: 0;
				height: 81px;
				clear: both;
				}
				
				#plastic ul.bigbanner {
					height: 140px !important;
				}
				
				#plastic ul.minibanner li {
					border: 1px solid rgb(138,138,138);
					background-color: rgb(152,152,152);
					width: 145px;
					height: 81px;
					float: left;
					-webkit-border-radius: 5px;
					padding: 0;
					}
					
				#plastic ul.bigbanner li {
					border: 1px solid rgb(138,138,138);
					background-color: rgb(152,152,152);
					width: 296px;
					height: 140px;
					float: left;
					-webkit-border-radius: 5px;
					padding: 0;
					margin-bottom: 4px;
					}
					
					#plastic ul.minibanner li:first-child {
						margin-right: 6px;
					}
					
					
					#plastic ul.minibanner li a {
						color: transparent;
						text-shadow: none;
						display: block;
						width: 145px;
						height: 81px;
						}
						
					#plastic ul.bigbanner li a {
						color: transparent;
						text-shadow: none;
						display: block;
						width: 296px;
						height: 145px;
						}
		
	
	
	/**** CHAT ****/
	
	
	body#chat {
		background: #DBE1ED;
		}
		
		body#chat div.bubble {
			margin: 10px 10px 0 0px;
			width: 80%;
			clear: both;
		}
		
		
		
		body#chat div.right {
			float: right;
			}
			
		body#chat div.left {
			float: left;
			}
			
			
			body#chat div.right p {
				border-width: 10px 20px 12px 10px;
			}
			
			body#chat div.left p {
				border-width: 10px 10px 12px 20px;
			}
			
			/* lefties */
			
			body#chat div.left p.lime {
				-webkit-border-image: url(../images/chat_bubbles_lime_l.png) 10 10 13 19;
				}
				
			body#chat div.left p.lemon {
				-webkit-border-image: url(../images/chat_bubbles_lemon_l.png) 10 10 13 19;
				}
				
			body#chat div.left p.orange {
				-webkit-border-image: url(../images/chat_bubbles_orange_l.png) 10 10 13 19;
				}
				
			body#chat div.left p.aqua {
				-webkit-border-image: url(../images/chat_bubbles_aqua_l.png) 10 10 13 19;
				}
				
			body#chat div.left p.purple {
				-webkit-border-image: url(../images/chat_bubbles_purple_l.png) 10 10 13 19;
				}
				
			body#chat div.left p.pink {
				-webkit-border-image: url(../images/chat_bubbles_pink_l.png) 10 10 13 19;
				}
				
			body#chat div.left p.graphite {
				-webkit-border-image: url(../images/chat_bubbles_graphite_l.png) 10 10 13 19;
				}
				
			body#chat div.left p.clear {
				-webkit-border-image: url(../images/chat_bubbles_clear_l.png) 10 10 13 19;
				}
				
				
				
				
			/*rights*/	
			
			body#chat div.right p.aqua {
				-webkit-border-image: url(../images/chat_bubbles_aqua_r.png) 10 19 13 10;
				}
				
			body#chat div.right p.lemon {
				-webkit-border-image: url(../images/chat_bubbles_lemon_r.png) 10 19 13 10;
				}
				
			body#chat div.right p.lime {
				-webkit-border-image: url(../images/chat_bubbles_lime_r.png) 10 19 13 10;
				}
				
			body#chat div.right p.purple {
				-webkit-border-image: url(../images/chat_bubbles_purple_r.png) 10 19 13 10;
				}
				
			body#chat div.right p.pink {
				-webkit-border-image: url(../images/chat_bubbles_pink_r.png) 10 19 13 10;
				}
				
			body#chat div.right p.graphite {
				-webkit-border-image: url(../images/chat_bubbles_graphite_r.png) 10 19 13 10;
				}
				
			body#chat div.right p.clear {
				-webkit-border-image: url(../images/chat_bubbles_clear_r.png) 10 19 13 10;
				}
				
		
		body#chat div.bubble p {
			color: #000;
			font-size: 16px;
			margin: 0;
		}
		
			body#chat div.bubble + p {
				color: #666;
				text-align: center;
				font-size: 12px;
				font-weight: bold;
				margin: 0;
				padding: 10px 0 0 0;
				clear: both;
			}

		
		/**** image grids ****/
		
		
		body#images {
			background: #fff;
			margin: 0;
		}
		
			body#images ul {
				margin: 4px 4px 4px 0;
				border: 0;
				-webkit-border-radius: 0;
				}
				
				body#images ul li {
					border: 1px solid #C0D5DD;
					-webkit-border-radius: 0;
					width: 73px;
					height: 73px;
					float: left;
					margin: 0 0 4px 4px;
					background: #F4FBFE url(../images/image-loading.gif) no-repeat center center;
					padding: 0;
					}
					
					body#images ul li a {
						display: block;
						width: 100%;
						height: 100%;
						margin: 0;
						padding: 0;
					}
		
		
		/*** BLANK PAGES ***/
		
		body#blank {
			background: #fff;
		}
		
		
		body#blank p {
			color: #898989;
			text-align: center;
			margin: 250px 0 0 0;
			}
			



			/**** ICONFIED LIST ****/
			
			
			ul li a img.ico, ul li img.ico {
				float: left;
				display: block;
				margin: -4px 10px -4px -1px;
			}
-->  
</style>


</head>


	
<!--<<<<<<<<<ReplaceData URLScheme>>>>>>>>>-->
	
<!--<<<<<<<<<ReplaceData Other>>>>>>>>>-->


</body>
</html>

購入済みiPhoneアプリ一覧をつくって、安心して再ダウンロードできるようにしてみたよ(とりあえず版)

皆さんご存知の通り、iPhoneアプリは一度購入してしまえば再ダウンロードは無料で行なえます。

それを利用して、iPhoneにはよく使うアプリだけ入れておいて、極まれに利用するようなアプリは再ダウンロードして使う、という運用をされている方もいらっしゃるかと思います。

でも、アプリを再度購入する時って、結構ドキドキしませんか?

購入ボタンを押してiTunesパスワードを入れるまで、購入済みアプリかどうかがわかりません。

万が一購入していないアプリだったら、そのまま課金されてしまうわけです。

((((;゚Д゚))))ガクガクブルブル

ぼくの場合、購入済みのアプリの数は1700くらいあります。

当然全てのアプリをiPhoneに入れることはできませんし、仮に入ったとしても探しづらくて利便性が下がります。

やはりiPhoneに入っているアプリはなるべく少ない方がいい。

でも、少なくしすぎて使いたいときにアプリが入っていないという状況は避けたいところです。

そ、こ、で、

購入済みアプリ一覧を見れて、さらにそこにAppStoreへのリンクが貼られていれば、間違えて購入していないアプリを購入済みと勘違いして購入してしまうこともなくなるだろう、と考えたのでした。

使うのはipaBacklistというPCおよびmac用のソフトです。
ipaBacklist

ipaBacklistは、所有アプリの一覧を作成したり、アプリのバックアップをとったり、一覧を様々な形式で出力したり、と利用方法によっては大変便利なソフトです。

一時期、MyWebClipというアプリをランチャーのように使うことがはやった時期があり、ipaBacklistを利用してURLスキーマを登録するのにも利用されたりしていましたね。

ipaBacklistには、HTMLでリストを出力する機能があります。

出力されるHTMLも、Custom HTMLを使って様々な見た目で出力することができます。

この機能を利用して、Dropboxに作成されたHTMLファイルを入れ、ランチャーのように使うという技が作者さんのブログで公開されていました。
Custom HTMLの使い方2(ipaBacklist): ROBOMIC(ブログ)

こちらで公開されているCustom HTMLは、リンクはURLスキーマになっていて、押すとアプリが起動するものになっています。

その辺をちょこっといじらせてもらって、リンクをiTunes Storeにして、3G環境下でもDLできるのかどうかの判断をするために容量も表示するようにしました。

Custom HTMLはこんな感じです。

<html>
<head>
<title>iPhone Apps List</title>

<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, 
    initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" />
<script type="text/javascript">
function updateOrientation() {
    switch(window.orientation) {
        case 90: 
        case -90: 
            document.body.setAttribute("ort", "yoko");
            var ort = "yoko";
            break;

        case 0: 
        case 180: 
        default: 
            document.body.setAttribute("ort", "tate");
            break;
    }

    window.setTimeout("window.scrollTo(0, 1)", 500);
}
</script>
<style type="text/css">
<!--
body {
    background-color: white;
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: none;
}

input[type="text"] {
    width: 100%;
    height: 33px;
}
input[type="image"] {
    float: right;
    width: 49px;
    height: 40px;
}

ul.btn {
    list-style: none;
    padding: 0;
}
body[ort="tate"] ul.btn {
    margin: 12px 0 0 10px;
}
body[ort="yoko"] ul.btn {
    margin: 12px 0 0 13px;
}
ul.btn li {
    float: left;
    width: 80px;
    padding: 0;
    center top;
}
body[ort="tate"] ul.btn li {
    height: 87px;
    margin: 0 0 3px 0;
}
body[ort="yoko"] ul.btn li {
    height: 81px;
    margin: 0;
}
ul.btn a {
    display: block;
    margin: 2 0 0 0;
    text-align: center;
    font-family: HiraKakuProN-W3;
    font-size: 12px;
    color: black;
    white-space: nowrap;
    text-overflow: ellipsis;
    text-decoration: none;
}
-->
</style>

<ipaBacklist>
<!--
htmlencode {no}
applist {
<li><a href="[[[AppStore]]]:" border=0 /><img src="[[[IconURL]]]" style="-webkit-border-radius: 12px 12px; -webkit-box-shadow: rgba(128,128,128,0.8) 0px 2px 2px; width:58px; height:58px"/><br>[[[AppNameOniPhone]]]<br>[[[FileSize]]]</a></li>
}
replace {<ul>} to {<ul class="btn">}
replace {<h1>URL Schemes</h1>} to {}
-->
</ipaBacklist>

</head>
<body onload="updateOrientation();" onorientationchange="updateOrientation();" >

<!--<<<<<<<<<ReplaceData URLScheme>>>>>>>>>-->
<!--<<<<<<<<<ReplaceData Other>>>>>>>>>-->

</body>
</html>

試してみたい方は、Custom HTML以外は全て作者さんのブログに載っているまんまなので、そちらを参考にしてみてください。
Custom HTMLの使い方(ipaBacklist): ROBOMIC(ブログ)

で、作成したAppList.htmlをDropboxへ入れて、起動してみたのがこれ。

結構いい感じじゃないですか?

まぁ、ただ問題も多々ありますが。。。

重すぎて起動に時間がかかるのと、リンクが”itms://”になっていることですかね。

“itms://”というリンクでは、iPhoneだと一回iTunesが開いて、その後App Storeが開くという感じになってしまうんです。

リンクについては、エディタかなんかで”itms://”を”http://”に一括で置き換えてあげるだけで解決できそうですけど、重いのはいかんともしがたいっす。

本当はこの状態で記事にするのはどうかなーとも思ったんですけど、それほどアプリの数が多くない人なら便利に利用してもらえるんじゃないかなと思ったので公開してみました。

あとは、まわりのすごい人たちが、これをネタにもっとすばらしい方法を編み出してくれたりしないかなーという期待も込めていますw

てことで、よろしくお願いしますヽ(*゚∀゚* )ノ

ちなみに、PCで表示してみたらこんな感じです。

AppList

なちこ壁紙 なちこ鏡バージョンfor iPhone 4を作ったよ

20101215 一部訂正。

nachiko_kabegami2

なちこ壁紙のなちこ鏡バージョンを作ってみました。

なちこ鏡が出た段階ですぐ作ればいいものを、今の今まで思いつきもしませんでした(;^ω^)

思いついたが吉日とばかりに、さっと作ってみました。

前のバージョンのpsdファイルがあったので、背景を黒に変えるだけで作れたので簡単でした。

あ、なちこ鏡のなちこはMorodashiMan MorokoshiMan ふじかーさんバージョンですけど、手元にないのでがくしバージョンで:(;゙゚’ω゚’):

手抜きって声が聞こえますけど、(゚ε゚)キニシナイ!!

ほしい方は、下のリンクからどうぞ。

nachiko_kabegami2.png

なちこ鏡 1.1App
iPhone 4 および iPod touch (4th generation) 互換 iOS 4.1 以降が必要
カテゴリ: ライフスタイル 価格: 無料
更新: 2010/10/15