The Making of Talkie: Broadcasting The Making of Talkie: Broadcasting
  • Home
  • Posts
  • Home
  • Posts

Development

The Making of Talkie: Broadcasting

Part 1

TalkieTalkie is my newest product, the result of a collaboration with a good designer friend, Tim Churchward, who did the user interface.

Talkie is a little different from many of the other walkie talkie applications on the App Store (aside from the fact that much of it was written by me from our motorhome in Tunisia!), and I thought I’d write a little about some of the tech underpinning the app, and some of the choices we made. Along the way it may get a little tutorial-esque.

  • This first part will introduce our initial motivations, and will talk about basic broadcast communications — the broadcast communications part may be very familiar to some, in which case it may be worth skipping to the next instalment.
  • In the second part, I’ll continue the theme of networking, and will talk about what I ended up with for Talkie’s network code after addressing a couple of things, including switching to multicast.
  • Finally, I’ll talk audio, dual platform development, and anything else I think of along the way (Actually, I’m aching to talk about one particular upcoming feature that had me jumping up and down when I first thought of it, but for now, mum’s the word on that one.)
Read More

Links for October 25th through January 23rd

Links for October 25th through January 23rd:

  • GPS Visualizer: Draw a map from a GPS data file Batch map plotter using GPS co-ordinates
  • Map multiple locations by address Very well-implemented free batch geocoder; accepts only address data, no GPS co-ordinates, but still excellent for some applications
  • iPhone: Custom font loading
  • Implementing Your Own Cocoa Bindings « Tom Dalling
Read More

Unit testing and coverage with XCode

There are several great resources out there on how to incorporate unit testing into XCode projects. It’s all built into XCode now, and it’s fantastic.

I just got coverage working too, thanks to a useful article at SuperMegaUltraGroovy on how to use code coverage with XCode. There were a couple of caveats that I thought I’d share, though.

Read More

Links for June 3rd through June 18th

Links for June 3rd through June 18th:

  • Ten logo design tips from the field | Logo Design Love
  • 10 astonishing CSS hacks and techniques
  • Adaptive CSS-Layouts: New Era In Fluid Layouts? effective techniques to create 100%-functional adaptive CSS-layouts
  • WordPress Theme Development Frameworks If you build and develop WordPress themes often, you will probably be fed up of all the repetitive code writing, the constantly checking of your mark-up and all you really want to do is focus on the design and the project-specific features. The answer is a WordPress development framework
  • How to Draw Pixel-Perfect iPhone Toolbar Icons Using OmniGraffle
Read More

Links for May 21st through June 2nd

Links for May 21st through June 2nd:

  • 49 Decent Virtual Assistant & Personal Outsourcing Resources
  • PHP: Display Adobe PSD files on a web page "Any webdesigner know the PSD filetype, which is the Adobe Photoshop format. PSDs have a lot of great features, as such as layers, but they can’t being read by a browser. Unless you use this great PHP class!"
  • Iconfinder – Icon Search Made Easy
  • Typetester – Compare fonts for the screen
  • KNAppGuide KNAppGuide is a Cocoa framework for embedding “guides” into your application, visually inspired by Apple Guide from the System 7 and 8 era
Read More

Links for March 17th through April 24th

Links for March 17th through April 24th:

  • XSD Schema XML Validator A XSD Schema validator in Java, provides lots of useful information; use it with a schema and an xml instance
  • Three20 Three20 is a collection of iPhone UI classes, like a photo viewer, and general utilities, like an HTTP disk cache. Three20 is derived from the Facebook iPhone app, which is one of the most downloaded iPhone apps ever.
  • CSS Decorative Gallery …How to decorate your images and photo galleries without editing the source images. The trick is very simple. All you need is an extra <span> tag and apply a background image to create the overlaying effect.
  • Comet (programming) – Wikipedia, the free encyclopedia Comet is a neologism to describe a web application model in which a long-held HTTP request allows a web server to push data to a browser, without the browser explicitly requesting it
  • Cocoa Is My Girlfriend » Cocoa Tutorial: awakeFromNib vs applicationDidFinishLaunching A very good overview of the 'startup' procedure for objects stored in IB nib/xibs.
Read More

Sneak preview of my new web framework Michaelangelo

I’ve been working on a new web framework which provides image theming – a little like what Elegant Grunge does with its image frames, but much more sophisticated.

For example:
boathouse.jpg

A dynamic caption

thailand.jpg

This is a PHP framework that uses the common GD library to manipulate images.

It’s main interface is a content filter – give it HTML, containing images, and it will return the same HTML modified so that the images are now the converted versions, according to their ‘class’ attributes, with appropriate width/height attributes, etc. This makes it super easy to work with.

It stands alone, but it is also going to be a WordPress plugin (as you can see on this site, it’s already operational), a Joomla plugin, and I’m considering establishing a web service too, so those who don’t have adequate software on their server can still use it.

IMG_1773.jpg

It has a plugin-based architecture so anyone can add new ‘themes’ (props to my partner Katherine for that beautiful wooden frame, by the way). I’m going to also implement a simple XML-based plugin schema, and possibly an interface to it, so that it’s easy to do so. I’m planning a ‘community’ style directory site to host contributed styles.

The base frame rendering code is such that it is trivially easy to add a new ‘theme’. It extracts segments from a single frame image, and handles seamless tiling to make the frame the right dimensions, so you don’t even have to worry about overlapping regions.

I will release it soon, after adding a little more content – keep your eyes peeled.

For now, check out the Michaelangelo showcase, which gives an idea of the different styles, and contains an interactive sampler to play with styles (IE users should stop being IE users to view this).

Doing my bit to beautify the web.

Read More

Align comments in Textmate

Unless I’m using Objective-C, which is fantastically self-documenting, I often like to add comments to parameters to remind me of what they do. For example:

imagecopy($image, $frame, 
          ($x=max($width-$this-&gt;topRightCap[kCapWidth], $this-&gt;topLeftCap[kCapWidth])), // Destination x
          0,  // Destination y
          $x,  // Source x
          0,  // Source y
          min($this-&gt;topRightCap[kCapWidth], $width-$this-&gt;topLeftCap[kCapWidth]),  // Source width
          $this-&gt;topRightCap[kCapHeight]); // Source height

imagecopy($image, $frame, ($x=max($width-$this-&gt;topRightCap[kCapWidth], $this-&gt;topLeftCap[kCapWidth])), // Destination x 0, // Destination y $x, // Source x 0, // Source y min($this-&gt;topRightCap[kCapWidth], $width-$this-&gt;topLeftCap[kCapWidth]), // Source width $this-&gt;topRightCap[kCapHeight]); // Source height

The only thing is, it looks terrible and is very hard to read. I usually carefully insert spaces before the comments so they line up, but that’s really hard to maintain.

I use Textmate, and found an ‘Align Assignments’ script by Chris Poirier which applies very nice formatting to a block of assignments.

Some trivial modifications resulted in a similar script to align comments. Hit Ctrl-Option-Command-/, and:

imagecopy($image, $frame, 
          ($x=max($width-$this-&gt;topRightCap[kCapWidth], $this-&gt;topLeftCap[kCapWidth])), // Destination x
          0,                                                                            // Destination y
          $x,                                                                           // Source x
          0,                                                                            // Source y
          min($this-&gt;topRightCap[kCapWidth], $width-$this-&gt;topLeftCap[kCapWidth]),      // Source width
          $this-&gt;topRightCap[kCapHeight]);                                              // Source height

imagecopy($image, $frame, ($x=max($width-$this-&gt;topRightCap[kCapWidth], $this-&gt;topLeftCap[kCapWidth])), // Destination x 0, // Destination y $x, // Source x 0, // Source y min($this-&gt;topRightCap[kCapWidth], $width-$this-&gt;topLeftCap[kCapWidth]), // Source width $this-&gt;topRightCap[kCapHeight]); // Source height

Here it is:

Align Comments.tmCommand.zip

Read More

Hi! I'm Michael Tyson, and I run A Tasty Pixel from our home in the hills of Melbourne, Australia. I occasionally write on a variety of technology and software development topics. I've also spent 3.5-years travelling around Europe in a motorhome.

I make Loopy, the live-looper for iOS, Audiobus, the app-to-app audio platform, and Samplebot, a sampler and sequencer app for iOS.

Follow me on Twitter.

Posts pagination

« 1 … 7 8 9 10 »
© 2021 A Tasty Pixel.