I want to know what is good start point to work on creating own GUI on iphone/objective-c. I've never done this part before, and I know I'm kinda attracted to make my own slick GUI, something like convertbot, which I really love :)
Any suggestion would be appreciated! Thanks
You might want to check out the Design Then Code tutorials written by Mike Rundle. I've heard good things about them.
Also, Tapworthy is a good read for those wanting to learn about designing interfaces for iPhone.
Interface builder is quite powerful to build UI. However you could start creating custom views in objective-c and that would mean learing how to write code in objective-c.
To be a little more complete, you could have included Fireworks among the apps that can be used to design for iPhone. I hope you won’t mind me plugging it here :)
Adobe Fireworks (http://www.adobe.com/fireworks) is also an excellent application for designing and prototyping for the iPhone. With this vector toolkit from MetaSpark (http://blog.metaspark.com/2009/02/fireworks-toolkit-for-creating-iphone-ui-mockups/), you can use the iPhone interface elements in Fireworks to quickly create prototypes. Fireworks has a nice feature called Pages, that allows designing each of the screens of your iPhone app. Then you can use the Hotspots feature to link buttons to the various Pages/screens in your app. Very quick and easy.
Luke Kilpatrick shows Robert Scoble how this is done in this video: http://www.building43.com/videos/2009/06/23/mockup-iphone-app-adobe-fireworks/
When your design is complete, you have several options for sharing it with clients and other stakeholders:
+ Export to PDF from Fireworks, which you can send to clients to review using the commenting features in the PDF
+ Export to HTML and Images from Fireworks to view your prototype in the Browser
+ Export to AIR from Fireworks to create an AIR prototype
+ Export to HTML and a Dreamweaver Library from Fireworks and use this jQuery trick (http://unitid.nl/2009/04/prototyping-for-the-iphone-using-fireworks-cs3/) to get the app running on your iPhone without learning Objective C. The jQuery hides the Safari Chrome so it looks and feels like a native app, but ti is running in the Safari browser on the iPhone.
+ Use jQTouch (http://www.jqtouch.com/) which uses a similar method to the above
I’m hearing of people using Fireworks to design and prototype for all kinds of mobile devices such as the ,iPhone 4, iPhone 4 Cases, Palm webOS (Pre and Pixi), BlackBerry, Symbian, Windows Mobile, etc. In fact, people use it for other screen design too, set-top boxes like the TiVo, PS3, Xbox, interactive kiosks, proprietary medical devices, in car interface screens – really any device with a screen.
Thanks!
Pat Siregar
Read Apple's Human Interface Guidelines:
http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/Introduction/Introduction.html
There is a lot of useful information there about how to design good UI's.
Once you are familiar and have practiced the things mentioned there, then you can think about designing more complex UI elements.
Related
So I am rather experienced with OpenGL on the desktop platform and am trying to integrate it with my iOS development experience. I have created several large scale iOS applications so I have a good understanding of that process as well. I was wondering if anyone knows of any useful techniques to integrate iOS UI components with an OpenGL scene, or if that is even possible. I apologize if this is to general. I can refine it if necessary.
For example, say you have an iPad application that has a table and whatnot on the left, and you want to add a little 3D OpenGL window on the right. (Perhaps a chart or something that the user can interact with?) This would not be for a game or anything, but more for my understanding on how to smoothly integrate the different platforms. Any advice or links that the community could provide would be greatly appreciated. Thanks in advance!
GL-Views do not have to cover the entire screen. A great and very easy to understand example is the sound=recorder SpeakHere iphone app within the iOS SDK.
This example uses a small GL-View for displaying a peak-level-meter of the audio signal; GLLevelMeter.
Hope this helps...
I'm looking for an intro into designing and making a custom and dynamic UI on mobile specific platforms. As I understand Nokia(Qt), Android, and iOS all use OpenGL ES (2.0?). I haven't looked into Windows phone 7 yet so not sure what that uses. So I think OpenGL would be a pretty good place to start. While OpenGL is mostly about 3D, I'm also open to 2d ways of creating dynamic UI.
I've never really been big on designing interfaces or coming up with cool concepts but now I have an idea for a mobile app that really needs a good looking user-interface. It's sort of a half app, half game type of thing. It really targets people in the gaming community who I think are used to a bit more polish and advanced UI. I could still probably get away with a simple UI(simple not being a bad thing) but I think I at least should learn some design techniques for future reference.
Of course I realise that excessive eye candy which hurts usability, like bloated graphics that slow down the mobile, are of no use at all. I'm trying to make a sleek UI that while looking good allows the user to interact well with the app effectively.
Any suggestions, resources, experience you can share would be most helpful.
EDIT: While I'm looking for ways to use 3D graphics, I'm more concerned with how to come up with a sleek UI in a mobile. I come from a mostly web developer background, with some experience in Photoshop(CSS is the furthest I've gone in designing). I have never really had to design a dynamic interface that reacted to touch and moved all around the screen with some laws of physics attached. There are lots of such effects, such as the carousal effect, which gives the user an enhanced experience. I have no idea how to incorporate these effects into a mobile device. For example, one of the things I need this app to do is take a glassy circular object(a button) that moves around, then turn it into a sort of convex glass lens so it's sort of zooming in on the image underneath to make it look like its actually a magnifying glass. I looked around and this effect is created by a "grid warp" or a "mesh warp". Suffice it to say I have no idea how to do it.
This will help you not only with Windows Phone 7. WP7 uses DirectX 9, but not directly, you must pick XNA or Silverlight(no other options). Also these blog posts I find quite usefull.
For game, game related app I would stick to one design, and as you said start with OpenGL.
I have been searching since yesterday and thought I'd add some links for anyone interested.
Although I'm dividing them up by the platform the articles refer to, with some elbow grease the ideas should be cross-platform compatible.
Qt
Carousal animation in Qt
Shadow effect Qt
Qt Kinetic Scrolling describes kinetic scrolling algorithm in Qt(self descriptive really)
Qt OpenGL Nehe tutorials converted to the Qt environment
Iphone
OpenGL from the ground up - expansive list
Flow Cover tutorial.
Android
Android 3d Tutorial
Another Android OpenGL tutorial
Yet another Android OpenGl ES tutorial, seems people have gone open-source mad.
Custom UI on Android
One finger zoom tutorial at Sony Ericsson Developer World
3D list at Sony Ericsson Developer World
OpenGl/ES
OpenGl tutorials at NeHe, there are tons, I read through the first one (on light) and it was really informative.
TheRedBook intro to OpenGl
Books
Books list at Design4Mobile, these do not cover the technical side rather covers the things to keep in mind when designing mobiles, I think the O'Rielly one should be pretty good.
Inspiration
10 beautifully designed Iphone Apps - for a touch of inspiration
All rounder
Mobile TutsPlus sort of a gathering of tutorials for android and iPhone
That's I found in the last four or five hours, as I find more I'll add it on. I've also made this a community Wiki so others can correct any mistakes I've made here, or to add anything they feel relevant.
Just a quick question on the iphone technology within this business card reader
http://www.youtube.com/watch?v=F8z6pcxdrPo
as we can see this video allows users to take a photo of a business card, i have an idea where i would take a photo of some text , and that photo could then be turned into text on the iphone. how would i be able to implement this using the iOS API ?
cheers guys
The camera stuff is all standard-- use the UIImagePickerController for this.
Text recognition (OCR) is not a built in part of the iOS API, though, so that part really isn't trivial. There are multiple open-source projects that can handle this sort of thing if you want to go after them.
Tesseract is an older but possibly viable one. Check out this post which has info on cross compiling it for iOS.
Other users here might have more current recommendations.
How hard would it be to port a flash game to the iPhone. Obviously Flash CS5 is no longer an options, I still would like to know if there's anything that can be reused? or do I have to write everything from scratch (Is Obj-C that different than ActionScript?) Is there any other shortcuts?
Also, if anyone has done this before please share your experience.
Flash is a very different platform, not only is the language change going to be an issue you're going to be going from Flash's renderer to presumably your own using OpenGL:ES.
Although another method may be to port your app to JavaScript. Both ActionScript and JavaScript are EMCAScript dialects, so very similar in that area, the APIs will be completely different though.
http://paulirish.com/work/gordon/demos/ interesting and slightly related, this is a implementation of Flash in JavaScript.
Note the new Apple T.O.S may affect you, but as far as I'm aware it's still a beta and I'm not Apple or a lawyer so I won't try and decipher it for you.
I am doing the same thing. I am using Cocos2d for iPhone. This is a pretty good 2d game engine. Actually, two apps created with it are in the current top 25. You are going to have to get down and dirty in Objective-C though. Objective-C is different from ActionScript but if you are use to object oriented programming you should be able to make the switch. Programming a Flash game is different than typical game programming done in Objective-C/C/C++. So, if you are familiar with how to do things in the Objective-C/C/C++ game programming world (render loop, capturing inputs, etc), you'll really be ok. If not, you'll have to get use to not having the Flash timeline, dealing with frames, etc. Good luck! You can do it!
read the statements from apple, no its not possible.
For my game Hudriks I used flash to build levels and some animations. For this an animation engine has been developed that supports motion tween, and then wrote JSFL scripts that goes through Flash objects and export to a format that can be parsed in my game.
For writing the JSFL - look for document called Extending Flash.
The rest was developed from scratch using Objective C with OpenGL. Do not see option of 'one-click' compilation or converting from Flash to iPhone (not considering CS5), but with developing extensions for Flash you could reuse some work.
It is hard, but it is possible. I am working on a automatic code converter now.
I want to make a small app that displays a PDF, presenting zoom-able single pages with a previous-next page function.
The Core Graphics API is pretty much the same in Cocoa and Cocoa touch. Read up on CGPDFDocument, it should provide you with everything you will need to render PDF pages. You won't need to read the PDF spec or use a library to parse PDF files directly. You will probably to learn more about Core Graphics / Quartz 2D / etc. to understand how to use those functions inside of a Cocoa app.
Based on the gradually evolving Apple policy of rejecting application submissions that duplicate functionality already on the iPhone I would worry about spending too much time even as a newbie on something that is part of the core iPhone feature-set.
This is pretty trivial. The CGPDFDocument functions will allow you to do anything you'd want to do with a PDF file.
The iPhone and iPod touch can view PDFs already, as one of the TV adverts in the UK shows an email with a .pdf attachment (of swimming lessons) being viewed. It can also view .doc, .xls, and so on, so if he is creating a viewer type application then supporting those as well could be a nice feature addition later on.
This means there is a PDF framework on these devices that you will need to access. Presumably Apple can provide support here if he is a paid up developer. Syncing the PDFs to the device is the actual real difficulty, as this isn't supported by iTunes. I assume that you would need to write a network based synchronisation tool, or have an online cloud for holding people's PDFs.
The device doesn't support Flash, so using PDF to Flash conversion tools will not work.
I found this HTML5 framework that should work on an iPad http://bakerframework.com/
but I didn't test it yet.