softwareengineeringdaily / se-daily-ios Goto Github PK
View Code? Open in Web Editor NEWNative iOS app for Software Engineering Daily.
Home Page: http://softwaredaily.herokuapp.com/
License: MIT License
Native iOS app for Software Engineering Daily.
Home Page: http://softwaredaily.herokuapp.com/
License: MIT License
Right now SEDaily-IOSTests
appears to be the standard empty project that Xcode creates. Are there plans to put some meat on these bones soon, or in the future?
We may not be supporting any language other than English at the moment but we should build the app in anticipation that we should. This means any user facing strings should use NSLocalizedString. Doing it now would be easier than doing it later.
The Just For You tab continuously displays a skeleton collection view for me - is this intended behaviour? I would expect it to either be empty (with a message) or showing a properly populated collection view, of course.
Just wanted to check before digging into the code
I'd like to use this Wait For It to show things like:
Cannot bookmark 2 most recent episodes.
Steps to reproduce: bookmark the most recent episode, check bookmarks
Steps to reproduce:
-play an episode on SED
-open a different audio app (Overcast) and play something; or kill the SED app
-come back to SED
-episode progress not there
Suggested fix:
-checkpoint the currently playing episode every 5 secon
-whenever someone switches to the app, or the app starts, load the checkpoint
The loading indicator overlaps with the collection view when items are visible. Consider a different kind of loading indicator to prevent visual collision.
"SE daily app for iOS seems to stop playing and lose the current episode frequently (e.g. when I get an incoming call, start/stop my car, or pause the episode overnight)"
Main:
Ideally: auto complete as I type & suggest things (future feature probably)
I think it would be a good idea to add a feedback button so users can send their issues or feedback. Is there an email we could use for this?
Testflight build 1.2 (3)
This might be a bug on the API side. Searches are returning the most recent episodes, not a response to my query.
It might be a good idea to have some UI to allow users to delete the cached items. It allows users to deleted unused data to save some space and help fix potential errors in the database.
Consider incorporating SwiftLint (https://github.com/realm/SwiftLint) into the project to help catch issues on compile time and create consistent code formatting.
For example, the latest podcast on load balancing should have a clickable link to the blog post on the text "blog post about load balancing at scale"
Should maybe show something saying to log in.
Also need to get better sense of how many recommended episodes show per user even if they are logged in
Saw them work once but seems to not work now.
This is a significant feature, so probably worth discussing with @themisterholliday if you are interested in taking it on.
The backend endpoints for this are already written.
The picture below shows several new features we want to build eventually. One idea for the comments interface is in the center.
The "related links" feature is also there. You can see the web version of these features live today.
AMA is also in this picture, but we are not working on AMA yet.
It seems I might not be the only one experiencing this. Here is what I get on a fresh pull from github:
Analyzing dependencies
[!] The version of CocoaPods used to generate the lockfile (1.4.0.beta.1) is higher than the version of the current executable (1.3.1). Incompatibility issues may arise.
[!] Unable to satisfy the following requirements:
- `KoalaTeaPlayer` required by `Podfile`
- `KoalaTeaPlayer (= 0.1.4)` required by `Podfile.lock`
None of your spec sources contain a spec satisfying the dependencies: `KoalaTeaPlayer, KoalaTeaPlayer (= 0.1.4)`.
You have either:
* out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
* mistyped the name or version.
* not added the source repo that hosts the Podspec to your Podfile.
Note: as of CocoaPods 1.0, `pod repo update` does not happen on `pod install` by default.
[!] Smart quotes were detected and ignored in your Podfile. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice.
[!] Automatically assigning platform ios with version 10.3 on target SEDaily-IOS because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.
$ open .
After deleting the Podfile.lock (and Pods directory) I get something more like this:
$ pod install
Analyzing dependencies
Downloading dependencies
Installing ActiveLabel (0.7.1)
Installing Alamofire (4.5.1)
Installing Crashlytics (3.8.6)
Installing Eureka (4.0.0)
Installing Fabric (1.6.13)
Installing IQKeyboardManagerSwift (5.0.2)
Installing KTResponsiveUI (0.2.2)
Installing Kingfisher (4.1.0)
Installing KoalaTeaFlowLayout (0.3.0)
Installing KoalaTeaPlayer (0.1.3)
Installing ObjectMapper (3.0.0)
Installing Pageboy (2.0.0)
Installing PureLayout (3.0.2)
Installing Realm (2.10.2)
Installing RealmSwift (2.10.2)
Installing Reusable (4.0.0)
Installing SideMenu (3.0.2)
Installing SnapKit (4.0.0)
Installing SwiftIcons (1.5.1)
Installing SwifterSwift (4.0.0)
Installing SwiftyBeaver (1.4.2)
Installing SwiftyJSON (3.1.4)
Installing Tabman (1.0.2)
Installing UIFontComplete (2.0.1)
Installing XLPagerTabStrip (7.0.0)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There are 22 dependencies from the Podfile and 25 total pods installed.
[!] Smart quotes were detected and ignored in your Podfile. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice.
[!] Automatically assigning platform ios with version 10.3 on target SEDaily-IOS because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.
Once in Xcode I get something like this (Doing Project->Clean seems to solve these 3) :
diff: /Podfile.lock: No such file or directory
diff: /Manifest.lock: No such file or directory
error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
Many more errors (16), with ActiveLabel:
Property cannot be marked @IBInspectable because its type cannot be represented in Objective-C
/Users/jasonbautista/playground/sed/se-daily-iOS/Pods/ActiveLabel/ActiveLabel/ActiveLabel.swift:309:20: 'NSFontAttributeName' has been renamed to 'NSAttributedStringKey.font'
/Users/jasonbautista/playground/sed/se-daily-iOS/Pods/UIKit.NSFontAttributeName:4:12: 'NSFontAttributeName' was obsoleted in Swift 3
Have tried:
Opening the SEDaily-IOS.xcworkspace and building as is
Deleting: Pods, Podfile.lock, SEDaily-IOS.xcworkspace -> pod install
Building Clean
Xcode 9.1 beata + Xcode 9.0
Tried upgrading ActiveLabel pod,
Tried commenting out ActiveLabel Pod from Podfile, Xcode moves to similar problems with another Pod (i.e SwiftIcons icons 33 issues)
[ ] upgrade pods to 1.4.0.beta.1
[ ] wondering if we make a branch / fork with a working Pods/ directory checked in and seeing if we can build from that? Just a random guess.
He accidentally downvoted several episodes because of this
Suggested adding a download button, and more clear UI (maybe thumbs up/down)
The time between pressing the play button and audio playing can make the app appear to hang. Suggest some UI to indicate that the audio is downloading.
I'd love to be able to use the app on my Iphone 4S. This would make it usable for a wider audience too,
as a lot of people don't necessarily want (or can) upgrade to the latest greatest (buggiest) phones.
Failing that, is there's dev documentation, maybe i can take it on. Thoughts?
On web we are going to be including a user's listened history, which is still on a branch (on the backend repo).
I'd love any option to queue up multiple podcast episodes to be played automatically in sequence.
Disk doesn't seem to have anyway to update an individual item. It appears you have to fetch all the data for the podcast, update an individual item, clear the file, then rewrite the entire array back into Disk. Is this better than using a db like sqllite, realm or coredata?
Also, Disk doesn't seem to support querying for data based on a predicate/condition.
Playback at any speed greater than 1x sounds muffled. I tried playing on 1.5x in the default Apple podcast app and it sounds much more clear. Is this possible to fix?
Also, where is the 1.5x option?
User made this comment on Twitter:
The app should let me navigate in offline mode, if I don't have an internet connection is impossible to listen to podcasts that I downloaded.
This is a significant feature, so probably worth discussing with @themisterholliday if you are interested in taking it on.
The backend endpoints for this are already written.
The picture below shows several new features we want to build eventually. One idea for the related links interface is in the center.
The "comments" feature is also there. You can see the web version of these features live today.
AMA is also in this picture, but we are not working on AMA yet.
Each time I play an episode, I have to set my player speed for 1.6x. It would be nice if this type of preference was stored and set automatically each time I play a new episode.
User requested "better listings of episodes that have been downloaded, how much they have been heard"
"There is no way to go from a player bar to a podcast (like in overcast) in the app. Main scenario when I need this is to either read more about the episode or thumbs up/down it."
checkAlreadyLoadedNewToday doesn't seem to be working correctly.
Every time I launch the app, it will try to fetch data from the network and append the items to Disk.
This would increase the Disk data indefinitely.
We also don't ever clear the data either.
Steps to reproduce:
// Crash report coming soon
Add fuzzy matching, and potentially indexing by tags
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.