Hello,
I'm Shubham Sorte, a 2nd year Information Technology student at Manipal Institute of Technology, India. I have been working on the iOS platform from the last 2 years. I've been looking through the iOS source code for iSage and wanted to put my ideas across to see if they are feasable: *IMPROVEMENTS* *1. Total UI redesign * - The first thing which I noticed was the UI. Currently, the app has a basic (but functional) UI which could be improved for iOS 7 and above standards confirming to Apple’s new Human Interface Guidelines. - A Flat and Minimalistic UI can be worked upon with a theme which is applied all over the app. - The tableView looks cluttered as all the options are displayed together. Also they are not quiet visible. A new tableView with detailed and clear design can be worked on with lesser ornamentation. At the end our aim should be simplicity i.e. bringing order to complexity. *2. iPad Interface redesign and reconstruct* - The current iPad version has no such distinction when compared to the iPhone version. - Its just a scaled up version of the iPhone app. - A totally different interface can be designed for the iPad which could in which we could use the bigger screen to do a lot more. *3. A better web view and async tasks * - webView can be integrated with an async loader/ progress indicator so that it feels more responsive to the user - Async loaders like MBProgressHUD (https://github.com/jdg/MBProgressHUD) or the inbuilt ActivityIndicator views can be used where ever we are making requests to the server. - While testing the app on slower networks I noticed that it send a long request making the thread wait for the response. Timeouts can be added if we encounter such a situation. *4. A Menu for options* Again, this is a part of UI redesign but I considered putting it as a point because its not there in the present app. - The user should be given options for activities. Sidebars can be used like JASidePanel (https://github.com/gotosleep/JASidePanels) or something like this http://goo.gl/1EYOpX which I have made in my earlier apps *5. The Sage Info view redesign * - The current ‘FlipsideView’ uses a local html file to show the content. Its good but its not integrated with the iOS elements. - A custom textView can be used instead since the content is to be accessed from screens of different sizes and resizing of the text as well as other elements can be done. Its really difficult to read on the current iPad version, the text size being static. *6. The keyboard and keyboard accessory* - Present keyboard accessory works just fine, but it maybe improved. The same keyboard view is loaded in both the iPad and iPhone. - The buttons are too small to work sometimes. *7. Share menu * - A slide for options can be used to give other options. Something like in iOS Mail App - http://goo.gl/xKLPTR - The presently used accessory view with a thumb icon takes up space in the cell making it difficult to use. *BUGS* *1. Empty row issue* - When we click on + button to add and if we don’t add anything(not typing anything), we get an empty row in the tableView as you can see here http://goo.gl/wqflJY. - I would be interested in working on to fix this issue *2. Async request keeps on loading* - As I said earlier, sometimes the request takes a long time to fetch the result - Timeout can be included which alerts the user to check network connectivity or retry *OPTIMIZATIONS* *1. Moving the code to MVC Design* We all know the advantages of using design patterns and when we talk about iOS, we mostly follow MVC. - The current code is not wrapped around the MVC pattern. - Code can be rebuilt on the MVC pattern. *2. Interface shifting to Storyboard for both iPhone and iPad* - The present app is made completely on xib files for the interface and the segues are hardcoded in the controller files. - A storyboard may be used for both the iPhone as well as the iPad as this may reduce the time and memory complexity of the app over device resources. *3. Images and icons organised by images xcassets catalog* - Use of xcassets is the new standard as of Xcode 5 and iOS 7 - The current project is missing this and therefore can be implemented *4. Backward Compatibility till iOS 6.0* - As the app maybe updated to run better on newer OS, attempts can be made so that its compatible with earlier versions as well. *5. Make the app comply to 64 bit architecture rules laid out by apple after the release of iOS 8* - According to Apple (https://developer.apple.com/news/?id=10202014a) starting February 1, 2015, new iOS apps uploaded to the App Store must include 64-bit support and be built with the iOS 8 SDK, included in Xcode 6 or later. The new settings can be applied to the app. Many of the above ideas may not be valid, but if any of them are, advice and criticism are appreciated. Thanks, Shubham -- You received this message because you are subscribed to the Google Groups "sage-gsoc" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sage-gsoc. For more options, visit https://groups.google.com/d/optout.
