Programming, Visualization and Game Development Theory

27Mar Further Reading on Design Patterns

As a followup on my Wednesday lecture on design patterns, I wanted to post some informative resources for learning more about design patterns outside the next lecture on the topic. Also, I wanted to say thanks for everyone who showed up to hear me rant about code structure (not the most exciting topic in the world mind you)!

Design Pattern Definition
In software engineering, a design pattern is a general reusable solution to a commonly occurring problem in software design. A design pattern is not a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations. Object-oriented design patterns typically show relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved.
- read more at WikiPedia

MVC Definition (the most common principle of Design Patterns)
mvc
Model–View–Controller (MVC) is an architectural pattern used in software engineering. Successful use of the pattern isolates business logic from user interface considerations, resulting in an application where it is easier to modify either the visual appearance of the application or the underlying business rules without affecting the other. In MVC, the model represents the information (the data) of the application; the view corresponds to elements of the user interface such as text, checkbox items, and so forth; and the controller manages the communication of data and the business rules used to manipulate the data to and from the model.
- read more at WikiPedia

Books:

AS3 Design Pattern Informational Websites:

Flash Design Pattern Frameworks:
(for now, it’s best to avoid these until you understand the fundamentals of MVC)

Good Design Priniciples:

  • ALWAYS type your variables (not really design principle but I too often see people doing this still)
  • An object/MovieClip should contain the actions that it performs (as oppose to objects outside the class forcing it to perform actions)
  • A class should never be able to “break” if the user sets a property or calls a function on it when they are not suppose to. Keep preventive logic in the class that’s doing the work.
  • A good chosen design pattern for a problem will not take any longer to implement than not using it with spaghetti code.

Feel free to leave comments or email me about any further questions you have about Design Patterns or where to find additional materials on it. Have a great weekend everyone!

16Feb Tegra + Android = iPhone Crusher

badge_tegra_2d_large

NVIDIA announced today that they are using Google’s Android OS for their Tegra platform. In case you don’t know what NVIDIA has been cooking up, Tegra pushes an incredible amount of GPU and CPU processing capability into mobile devices. We are talking like outputting 1080p resolution with 3D animation systems. By using a new technology called ULP (Ultra-Low-Power), it can retain an impressive battery life which can outlast any cell phone that is currently out in the market. It is very exciting that they have chosen the open source platform Android for their OS as both Android and Tegra natively support OpenGL development. If Apple isn’t on the ball, Android backed by such powerful hardware could certainly become the new smart mobile device king.

Also worth mentioning, once Android gets Flash Player, a Tegra device would be able to play robust developed Flash games and applications that other platforms would be sluggish running.

Read the press release at:
http://www.nvidia.com/object/io_1234769972591.html

UPDATE:
Nvidia Promises Tegra-Based Android Mobile Internet Devices for $99
!

01Feb ActionScript Reference for Android!

ActionScript Reference for AndroidAfter seeing that someone wrote an ActionScript reference application for the iPhone called ActionScript 3 API Reference for iPhone, I decided to take matters into my own hands and make the same application for the Android platform which the t-mobile G1 works on. The Android OS is a fantastic platform for a developer as I made this whole application over just two weekends. For the first release, I included a view to see all classes and a class search functionality. You can now download this from the Market on your Android phone! You can find it under the Application – Reference section, and it’s called ActionScript Reference. See the below screenshots…

Classes View:
screen1

Class Information View:
screen2

For more information on Android: http://www.android.com/

Tags: ,

18Nov Flash Player 10 confirmed for Android (with video)

Well, I predicted that Adobe would be eager to develop for the Android, and here it is: a working demo of Flash Player 10 running on the G1 being displayed today at a conference:

This is VERY exciting news! While Flash games may be slow because of the device, video streaming and Flash/Flex applications will be amazing to utilize for development. For myself, this means I can create simple Android apps to interact with the device features (like camera) and use Flash for the UI and logic since I know that language much more than Java currently.

Tags:

11Nov T-mobile G1 impression and Flash

Well, I finally took the plunge and got my first smart phone! I’ve looked at several choices over the past year like the Blackberry Bold, Storm, Apple’s acclaimed iPhone, Diamond Touch, Envy, and the LG Dare. However, after measuring the pros and cons, I decided on Tmobile’s G1. Why, you might ask? For one, I do like the full slide-out keyboard, touch screen, and trackball features. However, the G1’s biggest asset is of course Google’s open source Android operating system that it runs on. Android will allow even intermediate Java developers to make applications easily and publish to the market for other users to use. Examples of current applications are: barcode scanner and local prise comparison, parking spot locater on a radar display, social networking integration including direct camera posting, use mp3s as a ring tone (iPhone requires a painful hack for this to even work), remember-the-milk task reminder, weather display, and much much more. Heck, if I can find enough time, I will start writing applications for it.

Also, the cost of the phone is cheaper (its $170) and the monthly contract is about $25 cheaper than the iPhone (which the savings alone is as much as my internet home service). Overall, I have had the phone for over a week and can say nothing but good things about it. I did have some issues with the T-mobile service line… but to be honest, most of the tech support reps have not even seen the device since the G1 is sold out across the US right now.

My two wishes for the phone are longer battery life (with RC30 bios and 3G disabled, I have 80% battery by noon with lite use) and for Adobe to bring Flash Player (preferably 10) to the Android Market! I assume if Flash Player 10 where to ever to hit a cellphone device- that it would be the G1 since Adobe has been a well known Java centric company internally, but FP is written in C, if I remember right, so it will need to be transported to Java OR run as a Linux app directly on the G1 outside Android.

Note: RC30 update now has a viewer for most of the Microsoft Office formats.

Update #1:
At the Adobe MAX 2008 conference, Turner indicates that an “Android port” [of Flash Player 10] is coming!

Update #2:
Flash Player 10 confirmed for Android (with video)!

Tags:




Bad Behavior has blocked 223 access attempts in the last 7 days.