Thursday, September 1, 2011

iBridalGown launched in Android Market as Freemium app



I've just completed porting iBridalGown to Android, and I'm really excited about it! It took a few weeks of day-and-night coding and testing, and at the end of that effort, I've been able to launch a great FREE Android app that serves a great purpose for women shopping for a wedding dress.


iBridalGown, designed by a bridal salon owner, puts all of your wedding gown details at your fingertips. It minimizes frustration and helps you enjoy your wedding gown shopping experience.

We embraced the Freemium app model for this version so that women everywhere can use iBridalGown, for free, to help organize their wedding dress searches. We also offer an additional paid in app upgrade to access premium features.

iBridalGown for Android is available for download from the Android Market:


iBridalGown for iPhone is available for download from the App Store:

Visit the iBridalGown Website and Blog at http://www.ibridalgown.com.


Wednesday, August 24, 2011

Android action_send multiple images

Android OS makes it really easy to share an image programmatically, using the ACTION_SEND intent. I had a situation recently, while porting my iBridalGown for iOS app to Android, where I wanted to send an email with multiple image attachments. As with most Android programming tasks, there were first a few snafus to overcome ;) A couple of the problems I was facing were:
  1. ACTION_SEND actually can only handle one image attachment.
  2. The images were saved in the "private" app directory (the one you get when you call getFilesDir()) , which is problematic when attaching images to emails this way.
  3. There are not many clients that respond to ACTION_SEND which can accommodate text/html content and an attachment, let alone multiple attachments
So, what did I do? Three problems, three solutions:
  1. I used the ACTION_SEND_MULTIPLE intent, in order to send multiple attachments.
  2. I made temporary copies of the images in external storage before attaching them to the intent.
  3. I made sure only Gmail would be launched, since it is the only app I found which can reliably handle sending text/html and multiple image attachments.
More details...

Monday, August 22, 2011

Android programmatic density independent pixels

I've been doing a bunch of Android programming lately, working on porting the iBridalGown iOS app to Android, so I've been using a lot of "dip" (density independent pixels) measuring in my layouts. For example, in a TextView, I might specify something like this in XML:

<TextView
      android:id="@+id/headertext"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:minHeight="48dip"
      android:textSize="24dip"
      android:text="My Dresses"
/>

But what if, within the Activity code, I want to change one of these measurements? There are no Java methods in the Android SDK that accept density independent pixels!

Well, here's how. Just multiply the size in pixels by a scale factor defined in the context's resources, like so:

float scale = context.getResources().getDisplayMetrics().density;
float size = sizeInPixels * scale;

And there's that. I hope it helps :) Please join the conversation with a comment.

Wednesday, July 13, 2011

7 Funny Unattended Children Signs

Here are a few funny reminders to keep track of your kids :)

The Classic.

This time a double espresso and imaginary perks.

Friday, July 8, 2011

SEO Tip - Custom Blogger Post URL

It's very important for SEO (search engine optimization) to have a meaningful blog post URL in your Blogger or Blogspot blog. Blogger will create a post URL automagically using the post title. So, if my post was titled "My post about iPhone programming", I would see a URL like http://blog.daveworld.net/2011/07/my-post-about-iphone-programming.html.

But sometimes this plan gets thwarted by the length of the title. In fact, if your title is over 40 characters, there's a good chance the URL will be truncated to something that is NOT satisfactorily search engine friendly.

For example, my last blog entry was titled "How To Follow More Than 2000 People on Twitter". You can see it here.

How To Follow More Than 2000 People on Twitter

If you are using Twitter and are trying to follow more than 2,000 people, you may encounter the following message:
"Your account may not be allowed to perform this action. Try logging out and in again."

Do not despair. What you need to do is get more followers. When you reach around 1850 followers, then you will be able to follow more users.

So, you may want to unfollow some people you are following who are not following you back.

I use a tool called TweetAdder to help manage my Twitter followers. It helps me find users who are interested in my Tweets through targeted searches, and it also helps me unfollow users who are not interested in following me back.



And there's that.

Wednesday, June 29, 2011

Customize the favicon in your Blogger blog

How do you customize the favicon in your Blogger blog?
Very simple... in your template (Design -> Edit HTML), add the following 2 lines of code just before the closing </head> tag:

<link href='http://path-to-your-icon/favicon.ico' rel='shortcut icon' type='image/x-icon'/>
<link href='http://path-to-your-icon/favicon.ico' rel='icon' type='image/x-icon'/>

Replace path-to-your-icon with the path to your icon ;) For example, mine is at http://www.daveworld.net/favicon.ico.

Important to note:
1. put this just before the </head> tag so it counteracts the auto-generated favicon reference made by Blogger.
2. be sure to include the type='image/x-icon' part, or else this won't work in chrome.
3. Always back up your template first before making changes this way!

And there's that. Thoughts, comments, questions, feedback, criticisms... all welcome here, post below :)

Monday, May 2, 2011

Wii vs PS3 vs XBox 360, which console rules for my family

First, a little background. I love video games. I love making video games and I love playing video games. I grew up with the Atari 2600, Commodore Vic-20, 64 and 128, various iterations of Windows, now Mac and iProducts. I am a fan of all Robotron-style games, an avid lover of Centipede, and I was the guy who could make it all the way through Jungle Hunt (or Jungle King, if you prefer that version).

These days, with many jobs, a wife and 2 small kids, my gaming is typically limited to the family-friendly variety. So, this review is really geared toward those in a similar situation, looking for the perfect family-friendly console to complement their entertainment setup. Though my wife and I enjoy playing fighting games like Tekken, and I personally enjoy first-person shooters, those are not the sorts of games that are happening in our home. Realistic violence is not what we're looking for right now, period.

So here goes...

Friday, April 15, 2011

Bunny's Easter Egg Hop N Drop now available on Android OS

Just in time for the springtime holidays, the Android port of Bunny's Easter Egg Hop 'N Drop is ready! You can get it on the Android Market: https://market.android.com/details?id=com.daveworldinc.hopndrop

Read more about Bunny's Easter Egg Hop 'N Drop in my previous blog entry...
http://blog.daveworld.net/2011/04/bunnys-easter-egg-hop-n-drop-in-app.html

A couple of interesting thoughts about this port from cocos2d-iPhone to cocos2d-Anroid:

Tuesday, April 12, 2011

Android app ports have begun... first up, i Pwn UR Mom

That's right, I've begun the process of porting my apps to the Android platform. I picked i Pwn UR Mom as the first one because it's fun and easy... I hope no one out there is particularly offended by Yo Momma jokes, it's just meant to be a lighthearted blast of entertainment ;)

I Pwn UR Mom is the obvious choice for Yo Momma joke lovers and a handy reference for Yo Momma scholars. Browse hundreds of hilarious Yo Momma jokes categorized for easy access. Sit back and listen to the jokes read aloud, lovingly narrated by Daveworld's in-house Stephen Hawking impersonator (sounds just like him, it's uncanny ;)  Then, automatically text or email the jokes directly to your friends (jokes are auto-converted 2 text shorthand 4 Ur convenience!), or Pwn all your Facebook friends’ moms at once by posting the joke to your Facebook wall! I Pwn UR Mom!

You can find i Pwn UR Mom available for Android here: https://market.android.com/details?id=com.daveworldinc.iPwnURMom

And, i Pwn UR Mom is still available for iPhone here: http://click.linksynergy.com/fs-bin/stat?id=Wf0an0o4HbQ&offerid=146261&type=3&subid=0&tmpid=1826&RD_PARM1=http%253A%252F%252Fitunes.apple.com%252Fus%252Fapp%252Fid398492404%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30

Bunny's Easter Egg Hop 'N Drop in the App Store! Fun Kid's game for iPhone iPad and iPod Touch!

My latest game, Bunny's Easter Egg Hop 'N Drop, is available in the App Store!

Happy Easter! Catch Bunny's eggs before they fall! Simple to play, challenging to master. Perfect for kids, perfect for the Springtime holiday.

Bunny's Easter Egg Hop 'N Drop is optimized for iPhone, iPad, and iPhone Retina displays. High score leaderboards use OpenFeint and Game Center. Features original bunny hopping music, composed and performed by me :)

Wednesday, March 30, 2011

StarPod released in App Store! Awesome space shooter game for iPhone and iPad with OpenFeint, Game Center

My latest game, StarPod, is now available on the app store!



I really enjoyed making StarPod... it's got rockin' music and cool sound effects, colorful graphics and explosions, plenty of particle systems... it's not a "kid's game" like my previous couple of entries, it's actually a game that i enjoy playing :)

In StarPod, you are a spaceship being attacked by various types of space-dwelling shape creatures. Enemies include fiery squares, icebursts, insidious triangles, starburst caterpillars, and plasmapillars. You have 2 "D-Pad" style controllers, one on the left to move, and one on the right to fire (a la Robotron, Total Carnage, Geo Wars, etc...). Personally, this is one of my favorite playing configurations, I always like a good game where I can get into a zone of moving with one hand and unleashing destruction with the other.

There are two basic goals in the game... destroy lots of enemies for points, and stay alive as long as possible without using a Big Bomb. Every 7 seconds you stay alive without the BB, the points multiplier increases. So, the longer you stay alive, the higher your points multiplier will get. Once you use the Big Bomb or get destroyed, though, the points multiplier resets back to 1. When I play, I am focused on staying alive as long as possible, so I rarely use a Big Bomb... I have gotten the points multiplier up past 60x ;)

This game is fun on iPhone and iPad... on the iPad, the obvious benefit is that there's more D-Pad space, so you will have an easier time seeing on the D-Pad which direction it's pointing. Some players may find it a little tough during the first few plays to remember to keep your thumbs on the D-Pads, but once you do, you will (hopefully) be mesmerized and "in the zone".

There are a bunch of subtle features designed to keep the game mesmerizing and interesting, including:
- each starfield is created on the fly, and each star twinkles
- each enemy has a distinct spawn sound and a distinct explosion sound. the sounds are panned left or right according to the position of the enemies, and the explosion sounds' pitch is variable depending on the size of the enemy at the time of explosion
- each enemy type has a distinct strategy for getting to you, i wanted to make sure that "camping" in the corner would not be an effective strategy for the game ;)
- powerups, including double shot, triple shot, quad shot, and shields up the ante in terms of destruction unleashed
- if you are cornered, and if you have destroyed enough enemies, you can use the big bomb to blow up all the enemies on the screen and get a fresh start. this is particularly awesome when there are lots of different enemy types on the screens, because each enemy will explode one at a time and play it's sound... so you get a little custom concert along with the big bomb :)

Enjoy!

Tuesday, March 29, 2011

What Dave can accomplish in a month...

Hi, Dave here. I wanted to take a moment to recap all the stuff I accomplished in March. My goals at the beginning of the month were to create as many new iPhone apps as I could, to improve my internet presence and networking, and to make progress on my music. Here's what actually happened:

Tuesday, March 22, 2011

Memory Leaks, Verizon iPhone weirdness, and what's next...

Hi, Dave here.

I spent a full day yesterday finding and destroying memory leaks in my new iPhone / iPad game "StarPod". And I mean I started at midnight Sunday, took a short nap, then worked on it until it was fixed near 5pm Monday. I ended up submitting and rejecting that app 4 times before its final submission, which I believe now to be the last since I was able to play continuously for 1 hour without the app crashing (an excellent indicator that my work squashing memory leaks was successful). StarPod is a fast and fun space shooter game, I'm excited for it to come out.

I also have submitted an update for Kickin' Ms. Chicken v1.1... interestingly, the Verizon iPhones are behaving a little differently than the AT&T variety, and of course something I put in Kickin' Ms. Chicken makes VZ iPhones crash (sigh). So, hopefully that will come out in a few days.

Regarding the Verizon iPhone behaving differently than the AT&T iPhone... I had written a blog entry on www.netwhisperer.com about whether there will be differences for developers between AT&T and Verizon iPhones. I said I didn't think so... guess I was wrong. For all you tech-heads wondering what the specific difference was... The VZ iPhone on iOS 4.2.6 does not appear to support embedding fonts using the UIAppFonts key in the project plist.  This functionality has been in iOS since 3.2... maybe it's a bug that'll get fixed... don't know, don't care, since right now I have an app out there that crashes for Verizon iPhone users :(

I have been on a "sabbatical" from my normal job with ThoughtMatrix for the month of March, and that will continue through the month of April. So what do i do next with this precious time?

One of the things I'm going to work on is trying to more effectively use my network to promote my apps and music. I'm going to try using Constant Contact to streamline that effort.

And what else? Do I start porting my iOS apps to Android? Do I port apps / games to Flash / Facebook? Do I simply make more iOS apps? Do I spend some time coming up with the next great social / mobile idea? Time is always against me.

And there's that.

Saturday, March 19, 2011

Wednesday, March 16, 2011

Kickin' Ms. Chicken iPhone Game Approved For Sale in the App Store

Hi, Dave here. Great news! My latest game, Kickin' Ms. Chicken, has been approved for sale! It's a fun physics-based game, great for iPad, iPhone, and iPod Touch. You can get it in the app store at this link: Available on the App Store

In Kickin' Ms. Chicken, you (and Ms. Chicken) are participating in the County Fair's annual chicken kicking contest.

Monday, March 14, 2011

Ms. Chicken's Revenge - Fun and simple game for iPhone, iPad, and iPod Touch

Hi, Dave here. I've been taking some time lately to program iPhone games. I have been using cocos2d as my game framework, it makes all the important functions of game creation really easy.

My latest approved game is Ms. Chicken's Revenge. In this game, I use cocos2d with the chipmunk physics engine to produce a game where you catch eggs that Ms. Chicken drops from the top of her barn. The story is that Ms. Chicken is fed up with giving up all her eggs to the farmer, and she's decided that if she can't have them, no one can! So she's laying the eggs right off the edge of the barn...

You can find Ms. Chicken's Revenge in the App Store.

Monday, March 7, 2011

Rounded Corners with CSS

While there are a bunch of posts on the topic, this is something I look up around the internet often enough. I'm not going to go into the whole spiel about details of cross-browser support and what-not... and, in general, results on IE may or may not be desirable *sigh*.

So here's how to make rounded corners with CSS:

Remembering to use NSAutoreleasePool after calling performSelector

There's nothing worse than working really hard on an iPhone game or app, only to be plagued by poor performance, memory leaks and out-of-control allocations. One of the most important things I routinely forget to do is to auto-release every time i use a perform selector. For example, if I want to play an announcement in 2 seconds, i might say:

How to add padding to a UIButton's title

I had a situation where I needed to add padding to a UIButton in an iOS app. I searched around and found some whonky solutions and workarounds, then I discovered there is simply titleEdgeInsets, available since iPhone SDK 2.0. used like so...

Welcome to my new blog.

Hi, Dave Schuman here, I've started this blog where I intend to post snippets and tidbits about computer programming topics, as well as other stuff and things that come to mind. I program websites and web applications with a variety of technologies (Java, PHP, Ruby on Rails, JS/Ajax, CSS), and I also design and develop apps for iOS, Android, and WebOS.

This post is not too pithy, but an opening volley nonetheless.

And there's that.