Graph generation on iPhone [closed] - iphone

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Anyone have experience with drawing graphs on the iPhone? Looks like GraphKit isn't an option, so it's up to the programmer to either write his own library (using OpenGL, I guess), or an existing library. I can't seem to find any libraries that are confirmed to work on the iPhone.
If you've written your own how did you go about it (opengl, quartz, etc), or if you used a library which one?

I have been keeping my eye on this one:
core-plot
but I haven't yet tried it. Though it seams like it has potential.
chris.

Ive used coreplot...got an appstore app with it...not thrilled about its use. Its very customizable, maybe TOO customizable. It gave me quite a bit of trouble setting it up and i still have problems with is. Id like to know how Roambi.com does their porting from excel, it looks pretty good. MSOffice4mac should just come out with a direct port to iphone

Have tried and used CorePlot, on my way to a app-store app. Was a pain setting it up and then digging in deep, certainly the best graphing option currently.

I've done graphs in an application before using Quartz2D. Since the graph was particularly wide, I had to use a CATiledLayer for the view, which I think was what caused more issues than it fixed. The graph looked nice, but in the end, it was just too difficult to deal with. Too many bugs when trying to draw too much of the graph at once, or trying to draw the graph several times in a row quickly as the user changes between different views.
At this point, my suggestion would be to try something in OpenGL, though I don't know how you'd go about achieving it, since line drawing is pretty basic on the iPhone in OpenGL.

I have tried to plot a graph using Quartz 2D . It looks more like a drawing. But I am fixing the axes and plotting the coordinates according to the axes. But the problem is I want to make the graph user interactive. Each coordinate on the graph will further have to drill down showing the details of the coordinate. So how can I make the coordinates interactive .

You can check out the PowerPlot library which is an iOS native library. It is the only choice (to my knowledge) that not only has the "usual" assortment of charts, but also graphs (with nodes and connections) among the views. It is not based on OpenGL, but on Quartz. It also does not target the desktop version of MacOS, focusing specifically on iOS.
Licensing policy is dual license - developers can choose GPLv3 or a commercial one.

Related

Organising a big project - how is it done? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I understand that for smaller projects keeping methods in the main view controller (namely viewDidLoad) is the way forward, but for bigger projects im thinking this cant be the way apps are organised - the m file would be chuffing huge! also there would be thousands of declarations at the top! Im nowhere near building an app that big but i'm intrigued, would you put them in a separate file and call them when they're needed? or is it just a case of scroll past the declarations and use pragma marks to find what your looking for?
Basically this is not a specific question for developing iOS applications, it's more of a software architecture problem and requires more knowledge that can't be put in a single answer.
But to get hold of how things usually work, the project has to be planned by pen and paper first, since those are the developer's best tool, then when you've got the main parts of your project planned in a good manner, you start by plotting some ERD of your main components, and decide what will each part be responsible of, then start coding from there a prototype version.
when you have a simple project up and running, you start cleaning up the code, planning even further, and start testing your code, I can't describe how important testing is !
You'll also need software to manage your project (not the source code, but the project itself), something like asana maybe to keep track of tasks and who does what.
In order to keep your code safe against overwriting by other people who are working with you, and to keep things managed across versions, you'll need to setup a revision control repository of some king, Git is supported out of the box by XCode !
Now for the part of code writing, you need to learn some kind of pattern and follow it, iOS projects and most others now follow the MVC structure, which answers your question of how big the classes will get and how things will communicate together without turning into a mess !
Yes, you'll need pragmas and code trickery here and there, but you should always follow the patterns and conventions in order to keep things maintainable when projects grow !
again as I said, this is not anywhere near a good start, you need lots of experience and knowledge before you can actually work on huge projects, but it's something !
Keep up the good work, and always remember that you always have to ask questions, never be intimidated :)
Edit 1
Forgot to add a tip on reading about Agile software development that's probably my last tip :)

Advanced iOS Prototyping tool [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I'm looking for an advanced iOS prototyping tool. Here are some of the requirements that would be necessary for me to use one:
Should be able to run on a device and respond like a real app does. I don't mind if the prototype runs in a container.
Should be able to rotate a UITableView horizontally (like in Pulse/BBC) and also support gestures on the table.
I've seen some prototyping tools but none of them seem to support my second requirement above. My only alternative seems to be coding, which I do not want to do at this stage because there are a lot of other details that would end up making the prototype too-much-to-handle. Any pointers?
I think you are putting too much effort into a prototype which (I'll assume) is going to be thrown away once you start implementing the real deal.
Ask yourself what you want to accomplish with a prototype.
Is it to test your navigation and design with users to see if it is intuitive and complete? In that case I would recommend that you write no code at all and make a prototype in something like Keynote. you can even use that to make a clickable PDF that you can view in full screen on the device to let users tap on buttons etc. Check out the instructional videos on Keynotopia here for an example of what I'm talking about. I've even bought their awesome templates and love prototyping this way.
Is it to see if a specific technical thing can actually be done? In that case do minimal UI and write your code for real.
If you're trying to just develop a wireframe, you can use control dragging and drag & drop interfaces within Storyboard in Xcode. If you want to do anything else, you'll need to at least add some code behind it.
Best prototyping tool I've found is here .
It's free too. But I agree 100% with #Heiberg above - don't waste your time perfecting the prototype.
Blueprint has been removed by Apple recently. App Cooker would be the best option for you with the free viewer called App Taster. A big update is coming, the price will go up. It's the right time to jump in. www.appcooker.com
I agree with #Heiberg that a long involved prototyping process isn't worth it. The iOS prototyping tool I built, Flinto takes that to heart. We focused a lot of our effort on making the process of creating the prototype very fast.
Gesture support is forthcoming. Rotation is handled by dedicated portrait and landscape versions of your prototype.
I'm happy with AppCooker for the iPad. It has also free reader, called AppTaster, so other people can try your prototypes.
It's not 100% perfect, and update cycle is rare, but I like it.
It supports gestures, but doesn't support rotation.

What are some great iPhone questions for exercise? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
In a small team where everyone is coding away on a project for a little while I want to encourage some different thinking to keep people increasing their iOS knowledge as well as to get a bit more variety in their daily activities. I'm not looking for interview questions involving manhole covers, nor very specific questions about whether drawRect: is part of UIView or UIViewController. I'm looking for questions more along the lines of https://stackoverflow.com/questions/1282830/uiimagepickercontroller-uiimage-memory-and-more - which has a lot of questions and a lot of great information. I voted it up.
I'm thinking of sending out one of these topics about every week and then having a discussion about it towards the end of the week with some examples. Maybe assign a short presentation on a rotating basis so someone gets the job of delivering a 10-minute presentation about the topic, prizes awarded etc. - then when some task comes up involving that topic we may not have an expert but we at least have someone who knows where to start looking for answers. And maybe is keen to find out more based on that exercise.
stackoverflow, while it has "great questions", has a lot that are not so great and these scroll by in huge numbers daily. In iPhone-tagged questions sorted by votes I'm seeing very few of the kind of questions I want. I'm going to look further at some of the top-ranked questions here of course but these are the questions people had to ask, not necessarily the questions that others might get the most benefit from.
There are lots of exercises for "programmers" around but those are not what is needed. I want this to be iPhone specific. We come from a range of backgrounds and are all decent programmers already.
So - what are some things about iPhone development that YOU think are worth knowing? Can those things be phrased in the form of a question that leads an enterprising programmer to a satisfying answer? What made you stop and think, saved you days, pushed you in another direction that was fun and/or profitable, increased your knowledge or just made you feel good for having discovered the answer?
Things every iOS developer should know about:
Categories (how to extend existing classes with new
functionality)
Delegation pattern (how to implement your own delegates using either
a formal or informal protocol)
Blocks (often an improvement on delegation in case of
asynchronous calls, also useful in many other ways)
Passing NSErrors through indirection pointers.
NSInvocationOperation / NSOperationQueue for easy / clean threading code.
With the arrival of iOS 5 soon, one might want to learn about:
Storyboarding with Xcode 4.2 / iOS SDK 5.0
ARC
As a iPhone developer I will set these topics as a 10 minutes presentation.
Beginner level, may be useless if you are already developed in Obj-C but quite useful to integrate a C++ dev in your team
C++ vs Objective-C, Objective-C 2.0, Objective-C++
Memory management in Obj-C (retain, release, autorelease)
MVC design pattern
IB outlets
Design patterns in Obj-C
Use Stack Overflow before Google (not specifically iOS)
Medium/Advanced level
** Instruments ** (how to use it) (very important)
Comment code (even if selectors are expressive? a line or two is always better)
Automated tests (Who test their app anyway ? :))
Image manipulation + memory warnings
Code review of past apps (what is good, what is bad)
Code abstraction (see what module you have copied/pasted many times on yours apps and way to make it like a framework)
OpenGL ES (basics, only useful if you makes games)
Maps integration (with custom callouts, pins ...)
App Store submission (things to check before sending the app)
In-app Purchases
Push notifications
Core Data
SQLlite
Web service integration
Game Kit
Reducing loading times in the app by preloading
XMLParser (DOM and SAX)
Bonjour
Networking (checking that the iPhone can connect to the server)
Social network integration (FB, twitter, 4square ...)
Using GoogleMaps webservices
JSON
Core Animation (very long presentation)
Using UIAcceloremeter
Custom Views
Creating IB outlets
Creating Frameworks
Using Core Audio
Geolocalisation
Using C++ frameworks with iOS Projects
Things I don't know :
Calendar
Using iTunes library
CoreTelephony
Messing with Address Book
iAd
Video

How do you sketch out your iPhone App designs and ideas? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
How do you sketch out your iPhone App designs and ideas? I am currently about to start my next project and want to find a way to get my ideas on screen instead of good old fashioned paper.
For the first stage, nothing is going to beat paper. Whatever tool you use will be (hopefully) more accurate, sure. But you're trading time for that accuracy, and in the initial stage of UI design you need speed more than accuracy.
I do my designs with a few different pencils on index cards. When I'm satisfied I'm going in the right direction, I tape the card to a ruler and use my iMac's camera to take a picture of them. I then convert it to B&W and do a simple brightness/contrast to try to get them looking as good as possible, and I've got something reasonable to digitally store.
The great thing about this is that I can draw a rough card in not much more time than it takes Save As to open up if your Time Machine drive has gone to sleep. :) I can do a nice card in a little more time. And if I ever want something nicer looking, I can edit the scan or use it as a tracer in some other program.
(And I toss the cards in ziplock bags by project.)
Balsamiq has an excellent tool for doing mockups of interface designs. They also have some iPhone components. There is an online demo that I have started using (after seeing the answer to another SO question) and have really enjoyed the experience so far.
MockApp looks great!
OmniGraffle. ( http://www.omnigroup.com/products/OmniGraffle/ ) When combined with various iPhone Stencils like: ( http://graffletopia.com/stencils/413 and http://graffletopia.com/search/iphone ), OmniGraffle makes a great toolset.
Thanks everyone for you quick responses!
After testing both Balsamiq and MockApp I have come to the conclusion that MockApp gives me exactly the sort thing I want for design my Apps as you can see exactly how it will look and the sort of space each UI Element will take up. Also with the use of Keynote or Powerpoint you could go a stage further and link all the buttons up to create an effective demo presentation of your ideas if you required to present such a thing, though this is a little more time consuming and for myself I don't require this, but nice to know its there!
Balsamiq is a slightly quicker and easier tool to use but has less stock UI components and gives a sketchy look to the design which appears cool if you wanted to create quick story board images of your app idea but for actual design MockApp creates a much more realistic appearance which I believe is better. Also Balsamiq costs $79 if you want more then just the demo.
The reason I would choose MockApp over all the other solutions is that I would assume most already have either powerpoint or keynote on their computer compared to Photoshop or Fireworks, though I'm sure if you have those applications on your computer it may be better to use those. Also MockApp is free / tweet-ware, see the MockApp website for more details.
Hope this helps
Dan
P.S. I have yet to try OmniGraffle, thats next on my list!
I am developing WireframeSketcher wireframing tool that lets you create iPhone mockups using an external stencil. You can also link screens together to simulate interactivity.
I use these Photoshop templates from Teehan and Lax...
http://www.teehanlax.com/blog/2009/06/18/iphone-gui-psd-30/
or for a whole list of iPhone and iPad stencils: http://emilychang.com/2010/03/ipad-templates-and-stencils/
(source: emilychang.com)
I just create my designs in Adobe Fireworks using this mockup toolkit: http://blog.metaspark.com/2009/02/fireworks-toolkit-for-creating-iphone-ui-mockups/
Omnigraffle works well
I also create my designs in Adobe Fireworks using mockups toolkits you can find everywhere.
If you're a Fireworks fan you really should take a look at a very nice Fireworks Extension which allows you to preview your designed app in a iPhone simulator which is AIR based. The transition effects which are the trademark of the mobile device are also built in the extension and can be applied to the designs.
http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&loc=en_us&extid=1786031#
if you're already familiar with fireworks mockups you will love this extension.
best
Rob Rhyne's Briefs is great for mocking up the user experience. You can play your briefs on the phone.
Software is attractive, but you'll end up spending more time playing around with colors and moving things than getting the design/functionality down. What you need is speed. With speed you can move onto the programming sooner than later. I'll admit if you ultimately want to share the design with someone else MockApp is probably a good choice.
Here's what you need: (In order of preference)
http://technabob.com/blog/2009/09/28/notepod-paper-iphone-notepads/
or
http://appsketchbook.com/
or
http://thenextweb.com/2009/05/21/designing-iphone-software-pencil-wooden-forms-ink-brush/
Software is useful and may be more efficient but sometimes getting away from the screen is a good way to increase concentration on design rather than implementation. And nothing draws quite as many "cool!" comments as my stainless steel iPhone stencil:
Design Commission Stainless Steel iPhone UI Template
I don't use the print image they provide but made my own with a reduced-alpha screen capture from the simulator.
I would have to say mockapp or omnigraffle at the moment.
Don't miss out on this one by Less Code: http://lesscode.co.nz/interface
It lets you design right on the iPhone with iOS native components.

Favorite programming brainstorming activity? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
As an artist and musician, I often want to sit down and just let the code roll like a piece of free-form poetry, but I've found that doesn't work as well as when I have a set goal in mind. I've been experimenting lately with setting up tiny, fun goals for myself, not unlike how an artist would sketch a quick still-life, but I wonder...
What do others do when they want to code for fun, without the bondage of an already-committed project?
Design work, I find, flows much easier than just coding. I find that coding is often more of just implementation of a good design; I really like to just sit down with a pad of paper and a pen (and likely a bottle of wine) and work out an interesting design.
Project Euler is where I'm having fun at now. I can go at my own pace and work on the problems that interest me. Also, work in any language I choose.
Write documentation when coding doesn't come easy - coding will quickly seem much more appealing!
Going for a walk outside.
I tend to map my idea or build a structure in a MindMapping tool like MindMeister. And it's great for a team because it can be edited in real time by multiple persons!
I like to pick up a new language and learn how to express ideas in it. This usually has the benefit of showing me what I like and don't like about the languages I currently use. I usually pick some little tool project I've been wanting to do. Using the new language angle get's me motivated
My most recent 'new language' is Scala, in this case it will likely become a langue I use.
I like writing on whiteboards. Great for db diagrams, task lists, feature lists, (other lists,) random ideas, notes, etc. (db diagrams being the biggie for me)
Python is great for just getting things going on an idea and having the language (usually) behave like you would expect.
While it may have its drawbacks, it sounds like a great fit for what you are describing.
So to answer your question, the Python Challenge is entertaining and often gets me thinking about little things that would be fun to code, probably because it exposes you to different types of problems.

			
				
I like to code.
I like to find something interesting, code it and then see it works.
It does not have to be a project per see, it's good enough if it does something, like use Google api to get picasa albums, change song in iTunes or get details of current iTunes song, automate downloading of document from web site that is behind login and requires cookies and all that stuff, data parser in python, simple app on Mac, core data application, google codejam problems, topcoder.com problems ...
I like to learn new features of some language or some new language/technology/patterns/tool :-)
Usually I will work in Photoshop for a while. Get creative and try to come up with a new design that's not constrained by any code. Maybe even find something inspiring on the web for some new design ideas... then try to implement the design in code. That's the fun and challenging bit.
Use the REPL.
You figure out broadly the sort of thing you need to do - what APIs you need to use, what data structures you need to handle - and then prod them interactively until they start making sense. A ton of languages I use now have REPLs: Ruby, Python, Scala, Java (BeanShell, or JRuby/Jython etc.), C# ('csharp'), PHP (Facebook have made a REPL for it), Smalltalk (GNU gst) and, obviously, LISP/Scheme.